如何在 python 中打开包含多个数据框的文件夹并合并到一个 csv 文件中
how open folder with multiple dataframes in python and merge into one csv file
如何打开文件夹多个 df python 合并所有在一个 csv 文件中
我有大约 700 个 csv 文件都具有完全相同的列,我需要将它们全部合并到一个 csv 文件中。
那是数据,都在一个文件夹里,文件名有一个模式,就像"date" = ex: 07 25 2018
07252018 = {name: "Carlos", age:"30", height: "15" }
name age height
Carlos 30 15
07262018 = {name: "Carlos", age:"30", height: "15" }
name age height
Carlos 30 15
and etc.. range of 700csv
我做了什么..
- 它有效,但是非常手动,需要大量输入,因为有 700 个 csv
03012018 = 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")
预期输出将是一种最佳方式,无需大量输入即可快速完成。
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" 中,并且在该文件夹中,您拥有包含所有 csv 的文件夹 "Tables",您可以:
os.listdir('Tables/')
如何打开文件夹多个 df python 合并所有在一个 csv 文件中
我有大约 700 个 csv 文件都具有完全相同的列,我需要将它们全部合并到一个 csv 文件中。
那是数据,都在一个文件夹里,文件名有一个模式,就像"date" = ex: 07 25 2018
07252018 = {name: "Carlos", age:"30", height: "15" }
name age height
Carlos 30 15
07262018 = {name: "Carlos", age:"30", height: "15" }
name age height
Carlos 30 15
and etc.. range of 700csv
我做了什么..
- 它有效,但是非常手动,需要大量输入,因为有 700 个 csv
03012018 = 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")
预期输出将是一种最佳方式,无需大量输入即可快速完成。
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" 中,并且在该文件夹中,您拥有包含所有 csv 的文件夹 "Tables",您可以:
os.listdir('Tables/')