【发布时间】:2016-12-22 12:15:45
【问题描述】:
此脚本的第一个目标是从两个文件(1.csv 和 2.csv)的第 1 列中获取前 14 位数字。 1.csv 有正确的记录映射,而 2.csv 有很少的记录不匹配,所以比较两个文件中 column1 的前 14 位,得到不唯一的记录,这是通过脚本完成的.
第二个未完成的目标是例如我在1.csv 中有一条记录,第一列和第二列的相同记录在2.csv 中,另一条记录第一列相同,第二列不同,我希望这一行也打印在输出中。
脚本是:
import csv
import sys
with open('1.csv', 'r') as csv1, open('2.csv', 'r') as csv2:
csv1_lines = csv1.readlines()
csv2_lines = csv2.readlines()
csv1_headers = [line[:14] for line in csv1_lines]
csv2_headers = [line[:14] for line in csv2_lines]
with open('output.csv', 'w') as out_file:
for line in csv2_lines:
if line[:14] not in csv1_headers:
out_file.write(line)
【问题讨论】:
-
您的脚本基本上可以工作,您只比较每行的前 14 位数字,并且“2222222222222222”在两个文件之间很常见...如果您想获得预期的输出,您需要比较每行有更多字符。
-
谢谢杰罗姆..我需要帮助..如果你能在代码中帮助我,谢谢