首页 > 解决方案 > 试图连接多个 csv 文件,目录错误?

问题描述

所以我试图连接这些巨大的 csv 文件(顶部的标题)。相关代码如下。我附上了我从中提取的目录的屏幕截图。

#import libraries
import numpy as np
import pandas as pd
from glob import glob
from os import chdir

#import data frames
pm18 = pd.read_csv('pm18.csv', encoding='ISO-8859-1', low_memory=False)
pm17 = pd.read_csv('pm17.csv', encoding='ISO-8859-1', low_memory=False)
pm16 = pd.read_csv('pm16.csv', encoding='ISO-8859-1', low_memory=False)
pm15 = pd.read_csv('pm15.csv', encoding='ISO-8859-1', low_memory=False)
pm14 = pd.read_csv('pm14.csv', encoding='ISO-8859-1', low_memory=False)
pm13 = pd.read_csv('pm13.csv', encoding='ISO-8859-1', low_memory=False)
pm12 = pd.read_csv('pm12.csv', encoding='ISO-8859-1',low_memory=False)

#list files in directory
csv_file_path = (r'C:\Users\EDraklellis\Desktop\FebruaryDownloads\FebruaryDownloads')
chdir(csv_file_path)
# List all CSV files in the working dir
file_pattern = ".csv"
list_of_files = [file for file in glob('*.{}'.format('.csv'))]
print(list_of_files)

[]

#concatenate listed files
def produceOneCSV(list_of_files, file_out):
   # Consolidate all CSV files into one object
   result_obj = pd.concat([pd.read_csv(file) for file in list_of_files])
   # Convert the above object into a csv file and export
   result_obj.to_csv(file_out, index=False, encoding="utf-8")
file_out = "mergell84.csv"
produceOneCSV(list_of_files, file_out)

Then the error comes up: 
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-128-bbd8f21b6031> in <module>
      5    result_obj.to_csv(file_out, index=False, encoding="utf-8")
      6 file_out = "mergell84.csv"
----> 7 produceOneCSV(list_of_files, file_out)

<ipython-input-128-bbd8f21b6031> in produceOneCSV(list_of_files, file_out)
      1 def produceOneCSV(list_of_files, file_out):
      2    # Consolidate all CSV files into one object
----> 3    result_obj = pd.concat([pd.read_csv(file) for file in list_of_files])
      4    # Convert the above object into a csv file and export
      5    result_obj.to_csv(file_out, index=False, encoding="utf-8")

C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\reshape\concat.py in concat(objs, axis, join, join_axes, ignore_index, keys, levels, names, verify_integrity, sort, copy)
    253         verify_integrity=verify_integrity,
    254         copy=copy,
--> 255         sort=sort,
    256     )
    257 

C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\reshape\concat.py in __init__(self, objs, axis, join, join_axes, keys, levels, names, ignore_index, verify_integrity, copy, sort)
    302 
    303         if len(objs) == 0:
--> 304             raise ValueError("No objects to concatenate")
    305 
    306         if keys is None:

ValueError: No objects to concatenate

显然,我意识到当我打印并且唯一的输出是'[]'时,那里没有文件,但我不明白为什么不。请帮忙!谢谢

标签: pythonpandasconcatenation

解决方案


推荐阅读