Python 2.7 Python中两个CSV文件的比较

Python 2.7 Python中两个CSV文件的比较,python-2.7,csv,Python 2.7,Csv,我想比较两个csv文件,如下所示。 这里我想找出不匹配的信号 我需要一些python方面的帮助。请帮帮我 File 1 2 USER Name

我想比较两个csv文件,如下所示。 这里我想找出不匹配的信号

我需要一些python方面的帮助。请帮帮我

File 1                                                          
    2                                                       
    USER Name                                                       
    7/31/2015 0:00                                                      
    <XXXXXXX>                                                       
    1   Signal_1        10                                          
    2   Signal_2        1   2   3   4   5                           
    3   Signal_3        X   5   10  15  20  25  Y   6   11  16  21  26
    1   Signal_4        20                                          
    1   Signal_5        30                                          
    2   Signal_6        6   7   8   9   10  11  12  13              
    2   Signal_7        55  1.05    1.6 14.1                                
    3   Signal_8        X   30  40  50  60  40  Y   14  15  26  14  26
    2   Signal_9        1   1   2   3   2                           
    1   Signal_10       40                                          


File 2                                                          
    2                                                       
    USER Name                                                       
    7/31/2015 0:00                                                      
    <XXXXXXX>                                                       
    3   Signal_3        X   20  10  15  17  25  Y   6   11  16  21  26
    1   Signal_5        5                                           
    2   Signal_7        55  1.05    1.6 14.1                                
    1   Signal_1        10                                          
    3   Signal_8        X   30  40  50  60  40  Y   14  15  26  14  26
    1   Signal_10       14                                          
    2   Signal_9        1   1   2   3   2                           
    2   Signal_6        6   7   8   59  10  15  12  13              
    1   Signal_4        20                                          
    2   Signal_2        1   2   3   4   5                           


Result:

File                                                        
3   Signal_3        X   5   10  15  20  25  Y   6   11  16  21  26
1   Signal_5        30                                          
1   Signal_10       40                                          
2   Signal_6        6   7   8   9   10  11  12  13              

File 2                                                      
3   Signal_3        X   20  10  15  17  25  Y   6   11  16  21  26
1   Signal_5        5                                           
1   Signal_10       14                                          
2   Signal_9        1   1   2   3   2           
文件1
2.
用户名
7/31/2015 0:00                                                      
1号信号机1 10
2信号_2 1 2 3 4 5
3信号_3 X 5 10 15 20 25 Y 6 11 16 21 26
1信号装置4 20
1号信号灯5 30
2信号_6 6 7 8 9 10 11 12 13
2信号_7 55 1.05 1.6 14.1
3信号_8 X 30 40 50 60 40 Y 14 15 26
2信号_9 1 2 3 2
1号信号机10 40
文件2
2.
用户名
7/31/2015 0:00                                                      
3信号_3 X 20 10 15 17 25 Y 6 11 16 21 26
1信号装置5
2信号_7 55 1.05 1.6 14.1
1号信号机1 10
3信号_8 X 30 40 50 60 40 Y 14 15 26
1信号装置10 14
2信号_9 1 2 3 2
2信号_6 6 7 8 59 10 15 12 13
1信号装置4 20
2信号_2 1 2 3 4 5
结果:
文件
3信号_3 X 5 10 15 20 25 Y 6 11 16 21 26
1号信号灯5 30
1号信号机10 40
2信号_6 6 7 8 9 10 11 12 13
文件2
3信号_3 X 20 10 15 17 25 Y 6 11 16 21 26
1信号装置5
1信号装置10 14
2信号_9 1 2 3 2

如果要检查比较是否相当准确,可以非常轻松地使用集合:

def sigset(fname):
    with open(fname, 'rb') as f:
        data = set(' '.join(line.split()) for line in f
                   if 'Signal' in line)
    return data

s1 = sigset('sig1.txt')
s2 = sigset('sig2.txt')

print('File 1')
for line in sorted(s1 - s2):
    print(line)
print('')

print('File 2')
for line in sorted(s2 - s1):
    print(line)

到目前为止你尝试了什么?作为一个普遍的建议:你有csv。使用pandasWelcome进行堆栈溢出!在堆栈溢出问题上,最好添加一个解释,说明解决方案应该工作的原因。欲了解更多信息,请阅读。
with open('Sample1.csv', 'r') as t1, open('Sample2.csv', 'r') as t2:
    fileone = t1.readlines()
    filetwo = t2.readlines()
print fileone
print filetwo

with open('update.csv', 'w') as outFile:
    for line in filetwo:
        if line not in fileone:
            outFile.write(line)
    for line in fileone:
        if line not in filetwo:
            outFile.write(line)