【问题标题】:Is there a way to change the value of a given number of values within a column of a text file with a python script?有没有办法使用 python 脚本更改文本文件列中给定数量值的值?
【发布时间】:2019-06-27 00:41:31
【问题描述】:

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

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


【解决方案1】:

使用此代码,您可以将 .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

矩阵[列号][行号]

【讨论】:

  • 您可能想解释一下这两个 sn-ps 之间的区别以及何时使用哪一个。
  • 谢谢。但是如何使用 for 语句更改第三列中的值?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-05
  • 1970-01-01
  • 2021-03-20
  • 1970-01-01
  • 2021-07-05
  • 2020-03-02
  • 2020-11-02
相关资源
最近更新 更多