2012-03-16 3 views
2

Я хотел бы сопоставить два CSV-файла и написать новый CSV-файл, независимо от того, соответствуют они или нет.Python: Анализ и сопоставление CSV

Я имею в виду, что если каждая ячейка соответствует, я бы написал «1», а если нет, я бы хотел написать «0» в новом CSV-файле.

Например, первый файл (14, женщина, Highschool)

второй файл (15, мужчина, Highschool)

Я хотел бы, чтобы они соответствовали ли же пола или нет, и то же самое возраста или нет. Я мог бы написать ...

f="first_file.csv" 
s="second_file.csv" 
w="writer.csv" 
first = csv.reader(open(f,'rb')) 
second = csv.reader(open(s,'rb')) 
writer = csv.writer(open(w, "w")) 
for row in first: 
    for rwo_2 in second: 

И тогда я не знаю, как я мог бы соответствовать .... Пожалуйста, помогите мне .. и спасибо заранее ..!

+0

Вы собираетесь сопоставлять строки в своем заказе? 1-й, 2-й, 2-й, ...? У ваших файлов одинаковое количество строк? – San4ez

ответ

3

Это предполагает, что вы хотите, чтобы соответствовать построчно, а подушечки коротких строк и файлы с ноной:

from itertools import izip_longest 

for row1, row2 in izip_longest(first, second, fillvalue=[]): 
    writer.writerow([int(a == b) for a, b in izip_longest(row1, row2)]) 
0

он не будет заботиться о повторяющихся строках

set(csv1) == set(csv2) 

еще:

sorted(csv1) == sorted(csv2) 
Смежные вопросы