test1.csv
test2.csv
现在我想删除test1.csv中在test2.csv里没有的id的行,也就是呈现下图的效果
test1.csv
test1_csv = csv.DictReader(open('./test1.csv','r'))
test1 = set(i.get('id') for i in test1_csv)
test2_csv = csv.DictReader(open('./test2.csv','r'))
test2 = [i for i in test2_csv if i.get('id') in test1]
with open('./test1.csv','w') as file:
writer = csv.DictWriter(file, test2[0].keys(), lineterminator='\n')
writer.writeheader()
writer.writerows(test2)
上面是我尝试的代码,如果test1.csv中没有age列,该代码是可以的,但是多了age列后,就会报错。请问该如何做呢?