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 
  • Запись CSV Panda - добавление против записи
  • запись данных из списка python в csv row-wise
  • Количество строк в файле csv
  • Печать различной точности по столбцу с помощью pandas.DataFrame.to_csv ()?
  • Создание объектов из файла CSV Python
  • Групповые данные по сезонам с использованием python и pandas
  • написать запятую в CSV-файле, используя python
  • PYTHON: чтение файла Csv и печать / запись каждой строки (сохранить заголовок) в файл HTML
  • Дамп массива NumPy в файл csv
  • Python: Scrapy CSV экспортируется неправильно?
  • Преобразование файлов .CSV в файлы .DTA в Python
  •  
    Interesting Posts for Van-Lav

    Включить переадресацию почты с помощью учетной записи службы Google Apps

    Как проверить, одинаковы ли два списка в Python

    Установка файлов данных в сайт-пакеты с помощью setup.py

    string.split (text) или text.split () В чем разница?

    Python: использование xpath локально / для определенного элемента

    Создание массива numpy настраиваемых объектов дает ошибку «SystemError: возврат ошибки без исключения»,

    Как получить доступ к MongoDB от Meteor от другого клиента, в то время как Meteor работает?

    Не удалось сохранить matplotlib.figure Рисунок, холст None

    Как вы добавляете несколько кортежей (списки, что угодно) в один ключ словаря без их слияния?

    В чем разница между pip и conda?

    Неизменяемые против Mutable типов

    Как отобразить файл jpg в Python?

    Программное обновление электронной таблицы, размещенной в документах google

    ImportError: нет модуля с именем redis

    pyyaml ​​и использование кавычек только для строк

    Python - лучший язык программирования в мире.