熊猫使用部分通配符读取csv文件


问题内容

我正在尝试编写一个脚本,该脚本导入一个文件,然后对该文件执行某些操作,然后将结果输出到另一个文件中。

df = pd.read_csv('somefile2018.csv')

上面的代码工作得很好。但是,我想避免在代码中对文件名进行硬编码。

该脚本将在包含script.py和多个csv文件的文件夹(目录)中运行。

我尝试了以下方法:

somefile_path = glob.glob('somefile*.csv')

df = pd.read_csv(somefile_path)

但是我收到以下错误:

ValueError: Invalid file path or buffer object type: <class 'list'>


问题答案:

glob返回列表,而不是字符串。该read_csv函数将字符串作为输入来查找文件。尝试这个:

for f in glob('somefile*.csv'):
    df = pd.read_csv(f)
    ...
    # the rest of your script