首页 > 解决方案 > 有没有办法使用 python 脚本更改文本文件列中给定数量值的值?

问题描述

我有一个包含多列的文本文件,例如

1 0 0 

2 1 0 

3 1 1

4 0 0

5 0 1

6 1 1

7 0 1

8 1 0

9 0 0

10 1 1

我想找到一种方法来更改指定列中给定数量的值。例如,我想访问第 3 列并将前 6 个数字全部更改为 0 或 1。最好的方法是什么?我只想将所有指定的值更改为某个值,并且它将始终是连续的行(例如第 1 到第 6 行应该全部更改为 0)。

我的编码背景非常有限,但我认为我需要以某种方式使用 For 循环来遍历前六行并将它们附加到零。只是不确定如何做到这一点。

标签: python

解决方案


使用此代码,您可以将 .txt 文件读取为矩阵,之后您可以使用 for 语句来控制数字 6 并对其进行更改。然后将其保存到 .txt 文件:)

import numpy as np

matrix = np.loadtxt('multiple.txt', usecols=range(3))
print matrix

如果上面的代码对您不起作用,请尝试以下代码:

import numpy as np

c = open('multiple.txt','r+')
matrix = np.genfromtxt(c,delimiter=' ', usecols=range(3), unpack=True)
print(matrix)


   for i in range(0,7):
       if matrix[2][i]==6:
            matrix[2][i] = 0

矩阵[列号][行号]


推荐阅读