如何读取多个文件并将其加载到数据框中

时间:2017-12-09 03:49:38

标签: python pandas csv path glob

我在C:\ 1中名为11的文件夹中有一个csv列表。所有数据都有相同的列数。

A.csv

aa    zz    1     AA  
aab   qq    3     FF
ca    qq    5     QQ

B.csv

aa    GG    09    VV
aab   HH    03    WW
ca    CC    0     UU

如何将该文件夹中的每个文件读入数据框,以便在从csv读取的每个新数据之间都有一个空列。

所以它看起来像:

A     B     C     D     E    F     G     H     I
aa    zz    1     AA         aa    GG    09    VV
aab   qq    3     FF         aab   HH    03    WW
ca    qq    5     QQ         ca    CC    0     UU

即:

dfs = {i: pd.read_csv('C:\\1\\{}.csv'.format(i)) for i in ['a', 'b']}
print (dfs['a'])

或者:

import os
import pandas as pd
filelist = os.listdir(targetdir) 
df_list = [pd.read_table(file) for file in filelist]
big_df = pd.concat(df_list)


    FileNotFoundError: File b'b.csv' does not exist

1 个答案:

答案 0 :(得分:0)

您可以在每个读取的文件上添加间隔数据框,如下所示:

AVCaptureSession

如果您真的想要在帖子中指定的字母列名称(import os import pandas as pd # with directory name 1, located at ~/1: dir_name = "1" path = "~" dfs = [] # with files A.csv, B.csv in ~/1 (e.g. ~/1/A.csv): for fname in os.listdir(f"{path}/{dir_name}"): df = pd.read_csv(f"{path}/{dir_name}/{fname}", header=None) spacer = pd.DataFrame([" "]*len(df)) dfs.append(df) dfs.append(spacer) master = pd.concat(dfs, axis=1) master 0 1 2 3 0 0 1 2 3 0 0 aa zz 1 AA aa GG 9 VV 1 aab qq 3 FF aab HH 3 WW 2 ca qq 5 QQ ca CC 0 UU AB),请使用:

C

注意:目录路径使用Mac语法,但它应该很容易适应Windows。