加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 读取两个csv文件并比较每一行.如果行匹配打印两行,如

发布时间:2020-12-20 11:39:54 所属栏目:Python 来源:网络整理
导读:import csvf1 = open("file1.csv")f2 = open("file2.csv")csv_f1 = csv.reader(f1)csv_f2 = csv.reader(f2)for row1 in csv_f1: for row2 in csv_f2: if row1 == row2: print row1[0],row2[0] else: print row1[0],"Invalid" 这个程序没有打印出row1,row2.它
import csv

f1 = open("file1.csv")

f2 = open("file2.csv")

csv_f1 = csv.reader(f1)

csv_f2 = csv.reader(f2)

for row1 in csv_f1: 
    for row2 in csv_f2:
        if row1 == row2:
            print row1[0],row2[0]
        else:
            print row1[0],"Invalid"

这个程序没有打印出row1,row2.它只是打印file1的第一行,并且在同一行上多次无效.

解决方法

您需要比较相应的行,而不是每行与行进行比较,这是您的代码现在所做的.

import csv
import itertools

f1 = open("file1.csv")
f2 = open("file2.csv")

csv_f1 = csv.reader(f1)
csv_f2 = csv.reader(f2)

for row1,row2 in itertools.zip_longest(csv_f1,csv_f2):
    if row1 == row2:
        print row1,row2
    else:
        print row1,"Invalid"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读