将多文件导入数据框会出现错误

时间:2020-02-06 01:36:17

标签: python pandas

我有3套不同的文件集要导入到数据帧中,这些数据帧最终将插入到MS sql表中。文件可能具有也可能没有标题记录。在插入表之前,我将能够对与表列匹配的数据框列进行硬编码并加载到表中。

我的文件已经过SFTP处理,并且可以在Windows目录中使用3种不同的命名约定进行访问。

我尝试了许多发布在此处(Import multiple csv files into pandas and concatenate into one DataFrame)的选项,但是没有任何满足我需要的选项。

path = WorkDir
mypattern = "\\"+"*Category.csv"
print(WorkDir+mypattern)
allFiles = glob.glob(WorkDir+mypattern)
np_arr_list = []
for file_ in allFiles:
        print(file_)
        df = pd.read_csv(file_,index_col=None, header=0)
        np_arr_list.append(df)

big_frame = pd.concat(np_arr_list, ignore_index=True)

,对于其他2种文件类型,例如* CategoryRelations.csv和* CategorProdRelations

,我将重复相同的操作

我想知道如何将它们放入函数中,以便仅将路径和模式(文件命名模式)传递给函数并返回级联的数据帧。

在将每种文件类型分别插入表之前,我将进一步在数据框中添加列。

在上面,我得到以下错误:

E:\ETL\Python\Client\WORKCAT\*Category.csv
    Traceback (most recent call last):
      File "c:/Users/marunachalam/Downloads/FTPGetFiles.py", line 84, in <module>
        big_frame = pd.concat(np_array_list, ignore_index=True)
      File "C:\Users\marunachalam\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pandas\core\reshape\concat.py", line 255, in concat
        sort=sort,
      File "C:\Users\marunachalam\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pandas\core\reshape\concat.py", line 304, in __init__
        raise ValueError("No objects to concatenate")
    ValueError: No objects to concatenate
    PS C:\Users\marunachalam>

不确定如何实现此目标,每种类型的记录数最多可以达到1或2百万。

谢谢

0 个答案:

没有答案