我有多个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.
答案 0 :(得分:0)
您可以使用熊猫将csv作为数据帧读取到列表中,然后从该列表中进行比较:
import pandas as pd
dfList = []
dfList.append(pd.read_csv('FilePath'))
dfList [0]包含第一个csv文件的内容,依此类推 因此,要在第一个和第二个csv之间进行比较,就必须在dfList [0]和dfList [1]之间进行比较
答案 1 :(得分:0)
第一个功能比较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")