使用Python的初学者,需要帮助才能完成任务!
我有两个csv文件。 old.csv和new.csv
两者都具有相同的结构(A到Z列),并且每个记录在列F(第六列)中具有唯一的标识符,该标识符是数字。在这两个CSV之间有一些重复的记录。
我正在寻找一种方法来消除old.csv中的记录,从new.csv和输出到具有相同结构的新文件,所以新的output.csv只有新的记录。
实现这一目标的好方法是什么?我需要能够通过命令行在Windows机器上运行它。
任何帮助表示赞赏!提前谢谢!
答案 0 :(得分:0)
阅读csv文件并将其映射到元组
import csv
f = open('old.csv', 'rb')
reader = csv.reader(f)
reader = map(tuple,reader)
fn = open('new.csv', 'rb')
readern = csv.reader(fn)
readern = map(tuple,readern)
获取old.csv中的所有唯一标识符
from operator import itemgetter
reader= map(itemgetter(5), reader)
添加标识符不在old.csv中的所有项目,将它们添加到唯一列表
unique= [item for item in readern if item[5] not in reader]
将行写入output.csv
output = open("output.csv", 'wb')
wr = csv.writer(output)
for row in unique:
wr.writerow(row)
output.close()
希望这有帮助!
答案 1 :(得分:0)
一个简单的方法是:
您可能希望使用csv模块来读取和写入文件。