读取两个csv文件并比较每一行.如果行匹配打印两行,如果不相似则打印无效

Sha*_*qat 4 python

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"
Run Code Online (Sandbox Code Playgroud)

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

nwk*_*nwk 8

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

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"
Run Code Online (Sandbox Code Playgroud)