我正在自学python,专门处理非常大的文本文档。
在文件的一行中读取代码应做的事情,在管道定界符上分割它,如果第23列的值不为0,则它将第一个值更改为下面的值(在“ AAA”中),用管道将线重新连接,然后将其打印到新文件。
但是,当我运行它时,它不会像我期望的那样改变第一列,只是将原始行写入新文件中。我的语法/方法的哪一部分不正确?
counter=1
for line in open(r"C:\path\small_file_1000000.txt"):
spline = line.split("|")
if counter==1:
with open(r"C:\path\PythonWrittenData.txt",'a') as NewFile:
NewFile.write(line)
elif counter > 1 and not spline[23]=="0.00":
spline[0]= 'AAA'
s="|"
newline=s.join(spline)
with open(r"C:\path\PythonWrittenData.txt",'a') as NewFile:
NewFile.write(newline)
counter+=1
if counter%100000==0: print("Status Update: \n", "{:,}".format(counter))
我查看过Google,很多地方都说您可以只说list[number] = "New Value"
来覆盖列表中的项目,但这是行不通的,我也不知道为什么。