我有两个csv';s如果python中的结果不同,则需要比较和打印结果

我有两个csv';s如果python中的结果不同,则需要比较和打印结果,python,csv,compare,Python,Csv,Compare,我有两个csv的结果相同的文件。比如: File Result a.pdf, malicious b.pdf, non-malicious c.pdf malicious 和第二个csv,但具有相同文件的结果,如: File Result a.pdf non-malicious b.pdf malicious c.pdf non-malicious 我需要比较两个打印出来的文件名有不同的结果。。。但是在python中..使用python中的csv模块读取文件 csv.D

我有两个csv的结果相同的文件。比如:

File   Result
a.pdf, malicious
b.pdf, non-malicious  
c.pdf  malicious
和第二个csv,但具有相同文件的结果,如:

File   Result
a.pdf  non-malicious
b.pdf  malicious
c.pdf  non-malicious

我需要比较两个打印出来的文件名有不同的结果。。。但是在python中..

使用python中的csv模块读取文件

csv.DictReader是一个不错的选择。您将得到两个字典,可以通过键进行迭代和比较。

试试这一个:

    import csv
    with open('A.csv', newline='') as fileA:
        with open('B.csv',newline='') as fileB:
            readA = csv.DictReader(fileA)
            readB = csv.DictReader(fileB)
            fields = ['File','Result']
            ListDiff = []
            for rowA in readA:
                for rowB in readB:
                    if rowA[fields[0]] == rowB[fields[0]] and rowA[fields[1]] != rowB[fields[1]]:
                        ListDiff.append(rowA[fields[0]])
                        break
    print(ListDiff)

到目前为止你都试了些什么?我只是在谷歌上搜索了一些代码,但它们没有准确地工作。我投票将这个问题作为离题题来结束,因为这不是一个代码编写或教程服务。如果open(filename1,'rb')为f1,open(filename2,'rb')为f2 rdr1=CsvReader(f1)rdr2=CsvReader(f2)对于rdr1中的file1_行:file2_行=rdr2.next()#在此处执行file1_行和file2_行之间的比较#并打印差异,或仅在#结果列表中累积差异。