如何读取多个CSV文件并将其存储在不同的数据框中?

时间:2019-12-13 07:10:03

标签: python pandas

说我有200个csv文件,我想一次读取这些csv文件,并将每个csv文件存储在不同的数据帧中,例如第一个文件的df1,依此类推,直到df200。做df1=pd.read_csv之类的手册最多要花费200个小时。我该如何使用熊猫呢?

我尝试使用for循环,但无法接近,陷入困境。

3 个答案:

答案 0 :(得分:3)

import pandas as pd
import glob

all_files = glob.glob("file_path" + "/*.csv")

dfs_dict = {}

for idx, filename in enumerate(all_files):
    df = pd.read_csv(filename, index_col=None, header=0)
    dfs_dict["df"+str(idx)] = df

答案 1 :(得分:2)

尝试使用此:

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)

li将拥有所有的csv ...您可以进一步对其进行预处理,以将其分成不同的文件,

,或者如果所有csv都具有相同的列,并且您想将它们串联到单个数据帧,则可以在li上的pandas中使用concat函数以返回单个数据帧。

答案 2 :(得分:1)

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)