Python 将数百个数据文件合并到一个主数据帧中的有效方法是什么?

Python 将数百个数据文件合并到一个主数据帧中的有效方法是什么?,python,pandas,append,dataframe,Python,Pandas,Append,Dataframe,正如在标题中一样,我有800多个数据文件(全部以.csv格式)(每个文件大小约为0-5MB,每个文件包含10列,第一行为标题),我希望将它们合并到一个数据帧中。我可以使用Pandas数据帧逐个附加它们,但这非常耗时 有没有办法更快地做到这一点 我的代码: fname = "CRANlogs/" + ffiles[0] df = pandas.read_csv(fname,header=0) for i in range(807)[1:]: print(i) fname = "C

正如在标题中一样,我有800多个数据文件(全部以.csv格式)(每个文件大小约为0-5MB,每个文件包含10列,第一行为标题),我希望将它们合并到一个数据帧中。我可以使用Pandas数据帧逐个附加它们,但这非常耗时

有没有办法更快地做到这一点

我的代码:

fname = "CRANlogs/" + ffiles[0]
df = pandas.read_csv(fname,header=0)

for i in range(807)[1:]:
    print(i)
    fname = "CRANlogs/" + ffiles[i]
    temp = pandas.read_csv(fname,header=0)
    df = pandas.merge(df,temp,how="outer")

你需要每一个的标题吗?如果没有,则可以更快地将它们全部转换为numpy数组,然后使用numpy.append功能,然后将文件转换回csv文件。

我通常创建一个帧列表,然后使用pandas concat()


您是否考虑过将每个加载的csv(每个加载到df中)附加到列表中,然后调用
pd.concat(df_list)。到_csv(…)
?请发布您的代码,以便我们了解您正在做什么,从而我们可以知道我们建议的是否是(潜在的)改进。“这取决于”-您使用的文件格式是什么?@EdChum尚未,我正在努力!简单的文件读写难道还不够吗?
frames = [] 

for i in range(807):    
    fname = "CRANlogs/" + ffiles[i]
    temp = pandas.read_csv(fname,header=0)
    frames.append(temp)

#and now concat
df = pd.concat(frames)