python - 有没有办法使用 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 循环来遍历前六行并将它们附加到零。只是不确定如何做到这一点。
解决方案
使用此代码,您可以将 .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
矩阵[列号][行号]