我从 .dat 文件获取值并将这些值写入 txt 文件。问题是有些值会重复。以下是 txt 文件中的示例输出:
1001
1002
1003
1003
1004
1005
如何删除或合并 1003 值并将其保存在我创建的新 txt 文件中?这是我当前的代码:
for line in fi:
if "CA002" in line:
txt = fi.next()
print txt #view values
file = open("Reference.txt", "a+")
file.write(txt)
try:
read = file.readlines()
read = list(set(read))
read.sort()
print read
finally:
file.close()
我实际上不确定我写的内容是否有效。有人说使用 set() 函数来合并重复值。但我不认为它能完成工作。有什么建议么?请原谅我的代码,我才刚刚开始学习 python 的基础知识。谢谢!
最终结果在文本文件中应该是这样的:
1001
1002
1003
1004
1005
请您参考如下方法:
您可以使用 set 容器检查重复项然后写入文件,也可以使用 with 打开文件而不使用 python 作为更 pythonic 的方式输入名称作为您的变量名称!:
with open("Reference.txt", "a+") as f,open("input.dat") as fi :
seen=set()
for line in fi:
if "CA002" in line:
txt = fi.next()
print txt #view values
seen.add(txt)
if not txt in seen :
f.write(txt)
如果你在 2.6 中,你不能对多个项目使用 With 语句,所以你可以这样做:
with open("Reference.txt", "a+") as f :
with open("input.dat") as fi:
seen=set()
for line in fi:
if "CA002" in line:
txt = fi.next()
print txt #view values
seen.add(txt)
if not txt in seen :
f.write(txt)
