如何在一个csv文件中合并所有打开文件夹的多个df python我有大约 700 个 csv 文件都有完全相同的列,我需要将所有文件合并到一个 csv 文件中。那就是数据,它都在一个文件夹中,文件名中有一个模式,就像“日期” = ex: 07 25 201807252018 = {name: "Carlos", age:"30", height: "15" }name age heightCarlos 30 1507262018 = {name: "Carlos", age:"30", height: "15" }name age heightCarlos 30 15and etc.. range of 700csv我做了什么。。它可以工作,但非常手动,需要大量输入,因为有 700 个 csv03012018 = pd.read_csv("Data/03012018 )03022018 = pd.read_csv("Data/03012018 )03032018 = pd.read_csv("Data/03012018 )03042018 = pd.read_csv("Data/03012018 )03052018 = pd.read_csv("Data/03012018 )and etc..file = pd.cancat([03012018,03022018,03032018,03042018,03052018 ])file.to_csv("Data/file")预期输出将是一种最佳方式,无需大量输入即可快速完成。
1 回答
catspeake
TA贡献1111条经验 获得超0个赞
IIUC,这应该这样做:
选项1:
效率较低,可读性更好:
def get_df():
df=pd.DataFrame()
for file in os.listdir():
if file.endswith('.csv'):
aux=pd.read_csv(file)
df=df.append(aux)
return df
接着:
df=get_df()
选项 2:
内存效率更高,可读性更低:
def df_generator():
for file in os.listdir():
if file.endswith('.csv'):
aux=pd.read_csv(file)
yield aux
接着:
generator=df_generator()
df = pd.DataFrame()
for table in generator:
df = df.append(table)
注意:要使其按原样工作,脚本必须位于包含 csv 的文件夹内。否则,您需要从脚本所在的文件夹中添加该文件夹的相对路径。
示例:如果您的脚本位于文件夹“Project”中,并且在该文件夹中,您的文件夹“Tables”中包含所有 csv,您可以:
os.listdir('Tables/')
添加回答
举报
0/150
提交
取消