在Python 3中,可以使用以下步骤来比较两个不同的CSV文件的不同行,并创建一个新的CSV文件:
import csv
def compare_csv(file1, file2, output_file):
with open(file1, 'r') as f1, open(file2, 'r') as f2, open(output_file, 'w', newline='') as output:
csv1 = csv.reader(f1)
csv2 = csv.reader(f2)
writer = csv.writer(output)
# 读取文件1的每一行
for row1 in csv1:
# 读取文件2的每一行
for row2 in csv2:
# 比较两行是否相同
if row1 == row2:
break
else:
# 如果文件2中没有找到相同的行,则将文件1的行写入新的CSV文件
writer.writerow(row1)
# 重置文件2的指针,以便下一次比较
f2.seek(0)
compare_csv('file1.csv', 'file2.csv', 'output.csv')
这个函数将比较文件1和文件2的每一行,如果在文件2中找不到相同的行,则将文件1的行写入新的CSV文件。你可以根据实际情况修改文件路径和文件名。
这是一个简单的比较CSV文件的方法,适用于小型文件。如果文件较大或需要更高效的比较方法,可以考虑使用pandas库或其他专门用于数据处理的库。
领取专属 10元无门槛券
手把手带您无忧上云