如何读取多个文件并找到文件之间的差异?



我有多个CSV文件,我想比较它们。除了一些额外的更改外,文件内容是相同的,我想列出这些额外的更改。 例如: 文件 =[1.csv, 2.csv,3.csv] 我想比较 1.csv 和 2.csv,得到差异并存储在某个地方,然后比较 2.csv 和 3.csv,将差异存储在某个地方。

for dirs in glob.glob(INPUT_PATH+"*"):
if (os.path.isdir(dirs)):
for files in glob.glob(dirs+'*/'+'/*.csv'):
## list all the csv files but how to read them to get difference.

您可以使用 pandas 将 CSV 作为列表中的数据帧读取,然后从该列表中比较它们:

import pandas as pd
dfList = []
dfList.append(pd.read_csv('FilePath'))

dfList[0] 包含第一个 csv 文件的内容,依此类推 因此,要比较第一个和第二个csv,你必须比较dfList[0]和dfList[1]

第一个功能比较 2 个文件,第二个配置文件创建一个附加文件,其中包含 2 个文件之间的差异。

import os
def compare(file_compared,file_master):
"""
A = [100,200,300] 
B = [400,500,100]
compare(A,B) = [200,300]
"""
file_compared_list = []
file_master_list = []
with open(file_compared,'r') as fc:
for line in fc:
file_compared_list.append(line.strip())
with open(file_master,'r') as fm:
for line in fm:
file_master_list.append(line.strip())
return list(set(file_compared_list) - set(file_master_list))
def create_file(filename):
diff = compare("file1.csv","file2.csv")
with open(filename,'w') as f:
for element in diff:
f.write(element)
create_file("test.csv")

相关内容

  • 没有找到相关文章

最新更新