Я пытаюсь сравнить два CSV-файла и вернуть различия.Однако мне нужно как-то вызвать различия, либо с помощью цветовой кодировки, выражения False под двумя строками, с которыми он сравнивается, либо дополнительного столбца, который вызывает столбцы с различиями.
В настоящее время я использую функцию удаления дубликатов Pandas, чтобы вернуть неповторяющиеся строки, которые являются отличиями.Затем я сортирую фрейм данных по значениям, чтобы сгруппировать похожие строки.Этот метод сокращает 600 строк до 4 и группирует похожие строки вместе.Мне удалось сравнить первые 2 строки, используя line1 == line2, и он возвращает логическое значение.Я думал об использовании этого логического значения для выделения различных значений, но не знал, как это сделать.
Вот мой код:
import pandas as pd
import numpy as np
import os, sys, csv
Columns= ['CustomerName','CustomerAddress','CustomerID','CostomerPhone','CustomerZip','CustomerOpenDate','CustomerClosedDate']
InDataCustomerYesterday = pd.read_csv('/Users/JoeDirt/Documents/Customer_NAN_YYYYMMDD.csv', sep=',', index_col=None, dtype='str', names=Columns, header=3, encoding='ANSI') #dtype='str', encoding='ANSI')
InDataCustomerToday = pd.read_csv('/Users/JoeDirt/Documents/Customer_NAN_YYYYMMDD.csv', sep=',', index_col=None, dtype='str', names=Columns, header=3, encoding='ANSI')
#Combine Files
CombinedData= InDataCustomerYesterday .append(InDataCustomerToday)
# Compare Account Data and Only show the differences;
CombinedData.drop_duplicates(keep=False, inplace=True)
#Sort Data in Dataframe by CustomerID
CombinedData.sort_values('CustomerID', inplace=True)
Я пытался
def Diff(li1, li2):
li_dif = [i for i in li1 + li2 if i not in li1 or i not in li2]
return li_dif
li1 = 0
li2 = 1
line1 = CombinedData.iloc[li1,:]
line2 = CombinedData.iloc[li2,:]
Но я не уверен, как сравнить вчерашнюю строку с сегодняшней строкой и вызовомРазница