这些是我的csv文件,它们存在于特定目录中:
output0
output1
output3
output4
out0
out1
out2
out3
我应该将output0与out0合并,将output1与out1合并..
我只将output0与out0合并了,但是我没有找到一种方法来处理文件的其余部分
PS:这只是一个例子,我的目录中有100个csv文件
这是我的代码:
import pandas as pd
import time
a = pd.read_csv("C:/Users/AQ42770/Documents/merge/output0.csv")
b = pd.read_csv("C:/Users/AQ42770/Documents/merge/out0.csv")
merged = a.merge(b, on='Class')
merged.to_csv("output.csv", index=False)
time.sleep(60)
df = pd.read_csv("output.csv")
k=df.loc[~df.Class.duplicated(keep='last')]
k.to_csv("test1.csv", index=False, na_rep='NaN')
答案 0 :(得分:2)
您可以使用for循环和字符串格式来创建两个变量str_a
和str_b
。然后将这些变量读入pd.read_csv
类似的东西:
for i in range(number_of _files):
str_a = "path/to/file%d.csv" % i
str_b = "path/to/otherfile%d.csv" % i
a = pd.read_csv(str_a)
b = pd.read_csv(str_b)
答案 1 :(得分:1)
您可以使用glob
获取CSV文件列表,将所有文件循环读取到DataFrames列表中,并连接结果列表的成员:
import glob
df = pd.concat(pd.read_csv(f) for f in glob.glob("*.csv"))