如何更改txt文件Python中特定列的行值?

时间:2018-11-23 02:58:27

标签: python

我有一个文本文件,其中有1列不同的值(浮动和整数),我想根据其行更改值。我的代码如下:但是我知道应该替换什么值,如何根据代码行呢?

with open('table1.txt', 'r+') as file:
    text = file.read()
    i = text.index('3.6') # 3.6 = old value
    file.seek(0)
    file.write(text[:i] + '7.84' + text[i + len('3.6'):]) # 7.84 = new value

第二,当文件中有几列时,如何选择一行?例如,第2列第1行? ?谢谢

1 个答案:

答案 0 :(得分:0)

如果文件中的列按空格分隔:

def change_value(column, row, new_value):
    lines = []
    with open('table1.txt', 'r+') as file:
        for line in file:
            lines.append(line.rstrip().split())

        lines[row - 1][column - 1] = str(new_value)
        file.seek(0)
        for line in lines:
            line[-1] += "\n"    # or "\r\n" on windows
            file.write(' '.join(line))


change_value(2, 1, 7.84)