我有两个格式相同的 csv 文件(两列数据):
Name Link
Name Link
Name Link
Name Link
它们之间的唯一区别是这两列中的数据(不同的名称和不同的链接)。我想找到两个 csv 文件中出现的名称和链接,并将它们写入一个新的 csv 文件。到目前为止,我已经尝试过:
import csv
f1 = file('/path/to/f1.csv', 'r')
f2 = file('/path/to/f2.csv', 'r')
f3 = file('/path/to/f3.csv', 'w')
c1 = csv.reader(f1)
c2 = csv.reader(f2)
c3 = csv.writer(f3)
masterlist = [row for row in c2]
for hosts_row in c1:
row = 1
found = False
for master_row in masterlist:
results_row = hosts_row
if hosts_row[3] == master_row[1]:
results_row.append('FOUND in master list (row ' + str(row) + ')')
found = True
break
row = row + 1
if not found:
results_row.append('NOT FOUND in master list')
c3.writerow(results_row)
f1.close()
f2.close()
f3.close()
这是基于对类似问题的回答,但是我意识到在这种情况下 csv 文件的格式是不同的。所以我得到这个错误:
masterlist = [row for row in c2]
_csv.Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode?
如何调整上述代码以适合我的 csv 文件的格式。还是有更好的方法来做到这一点?任何帮助将不胜感激,因为我刚刚开始使用 python,而且我认为我还没有完全掌握比较两个文件中的数据的概念。