Python 如何读取多个csv文件并将其存储在不同的数据帧中?
假设我有200个csv文件,我想一次读取这些csv文件,并将每个csv文件存储在不同的数据帧中,比如第一个文件的df1,等等,直到df200。执行类似于Python 如何读取多个csv文件并将其存储在不同的数据帧中?,python,pandas,Python,Pandas,假设我有200个csv文件,我想一次读取这些csv文件,并将每个csv文件存储在不同的数据帧中,比如第一个文件的df1,等等,直到df200。执行类似于df1=pd.read\u csv的手动操作需要大量时间,最多需要200分钟。我如何使用熊猫来实现这一点 我已尝试使用for loop,但无法接近,卡住。尝试使用以下方法: import pandas as pd import glob path = r'path of the folder where all csv exists' all
df1=pd.read\u csv
的手动操作需要大量时间,最多需要200分钟。我如何使用熊猫来实现这一点
我已尝试使用for loop,但无法接近,卡住。尝试使用以下方法:
import pandas as pd
import glob
path = r'path of the folder where all csv exists'
all_files = glob.glob(path + "/*.csv")
li = []
for filename in all_files:
df = pd.read_csv(filename, index_col=None, header=0)
li.append(df)
李将拥有所有csv的。。。您可以进一步对它们进行预处理,将它们分离到不同的文件中
或者,如果所有csv具有相同的列,并且您希望将它们连接到单个数据帧,则可以使用pandas over li中的concat
函数返回单个数据帧 尝试使用以下方法:
import pandas as pd
import glob
path = r'path of the folder where all csv exists'
all_files = glob.glob(path + "/*.csv")
li = []
for filename in all_files:
df = pd.read_csv(filename, index_col=None, header=0)
li.append(df)
import pandas as pd
import os
dfs=[] #empty list of dataframes
dirname = #where your files are
for root,folders,files in os.walk(dirname):
for file in files:
fp = os.path.join(root,file)
df=pd.read_csv(fp)
dfs.append(df)
df=pd.concat(dfs)
李将拥有所有csv的。。。您可以进一步对它们进行预处理,将它们分离到不同的文件中
或者,如果所有csv具有相同的列,并且您希望将它们连接到单个数据帧,则可以使用pandas over li中的concat
函数返回单个数据帧 将熊猫作为pd导入
import pandas as pd
import os
dfs=[] #empty list of dataframes
dirname = #where your files are
for root,folders,files in os.walk(dirname):
for file in files:
fp = os.path.join(root,file)
df=pd.read_csv(fp)
dfs.append(df)
df=pd.concat(dfs)
导入glob
所有文件=glob.glob(“文件路径”+“/*.csv”)
dfs_dict={}
对于idx,枚举中的文件名(所有_文件):
df=pd.read\u csv(文件名,索引列=None,头=0)
dfs_dict[“df”+str(idx)]=df
将熊猫作为pd导入
导入glob
所有文件=glob.glob(“文件路径”+“/*.csv”)
dfs_dict={}
对于idx,枚举中的文件名(所有_文件):
df=pd.read\u csv(文件名,索引列=None,头=0)
dfs_dict[“df”+str(idx)]=df
使用dict键1至200将每个数据帧保存到字典此答案向您展示。使用dict键1至200将每个数据帧保存到字典此答案向您展示。创建DFs临时列表不是最好的方法。您可以将生成器表达式传递给concat,或者创建一个独立的生成器(如果它对于单个表达式来说太复杂)。大致如下:df=pd.concat((文件中f的pd.read\u csv(f))
创建DFs临时列表不是最好的主意。您可以将生成器表达式传递给concat,或者创建一个独立的生成器(如果它对于单个表达式来说太复杂)。大致如下:df=pd.concat((文件中f的pd.read\u csv(f))