python сравнивает элементы считывателя dict из двух файлов csv

У меня есть два файла CSV, которые я пытаюсь сравнить. Я читал их, используя диктофон. Итак, теперь у меня есть словари (по одному для каждой строки) из двух файлов CSV. Я хочу сравнить их, скажем, когда два элемента (с заголовками h1 и h2) одинаковы, сравните эти словари и распечатайте различия по второму словарю. Вот примеры файлов csv.

csv1:

h1,h2,h3 aaa,g0,74 bjg,73,kg9 

CSV_new:

 h1,h2,h3,h4 aaa,g0,7, bjg,73,kg9,ahf 

Я хочу, чтобы результат был чем-то вроде этого, хотя и не так, как показано ниже, я хочу, чтобы он мог распечатывать изменения, добавления и удаления в каждом словаре по отношению к CSV_new:

 {h1:'aaa', h2:'g0' {h3:'74', h4:''}} {h1:'bjg', h2:'73' {h4:''} 

Мой код, который недостаточно развит.

 import csv f1 = "csv1.csv" reader1 = csv.DictReader(open (f1), delimiter = ",") for row1 in reader1: row1['h1'] #['%s:%s' % (f, row[f]) for f in reader.fieldnames] f2 = "CSV_new.csv" reader2 = csv.DictReader(open (f2), delimiter = ",") for row2 in reader2: row2['h1'] if row1['h1'] == row2['h1']: print row1, row2 

2 Solutions collect form web for “python сравнивает элементы считывателя dict из двух файлов csv”

Если вы просто хотите найти разницу, вы можете использовать difflib. Например: import difflib fo1 = open(csv) fo2 = open(CSV_new) diff =difflib.ndiff(fo1.readlines(),fo2.readlines()) Затем вы можете напишите разницу, как хотите

Это может быть то, что вы ищете, но, как упоминалось выше, в вашем описании есть некоторая двусмысленность.

 with open(A) as fd1, open(B) as fd2: a, b = csv.reader(fd1), csv.reader(fd2) ha, hb = next(a), next(b) if not set(ha).issubset(set(hb)): sys.exit(1) lookup = {label : (key, hb.index(label)) for key, label in enumerate(ha)} for rowa, rowb in zip(a, b): for key in lookup: index_a, index_b = lookup[key] if rowa[index_a] != rowb[index_b]: print(rowb) break 
  • Как эффективно обрабатывать европейские десятичные разделители с помощью функции pandas read_csv?
  • Поток CSV-файла в Django
  • Запись списков разного размера в csv в столбцах в Python
  • Чтение csv с разделителем в python dask
  • Напишите словарь словарей для csv в python
  • чтение и выполнение вычислений из .dat-файла в python
  • Как читать CSV-файл из потока и обрабатывать каждую строку, когда она написана?
  • Чтение сетевого графика из файла csv с заголовком строки и столбца
  • Python - лучший язык программирования в мире.