Python 将数百个数据文件合并到一个主数据帧中的有效方法是什么?
正如在标题中一样,我有800多个数据文件(全部以.csv格式)(每个文件大小约为0-5MB,每个文件包含10列,第一行为标题),我希望将它们合并到一个数据帧中。我可以使用Pandas数据帧逐个附加它们,但这非常耗时 有没有办法更快地做到这一点 我的代码: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
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)