如何结合glob与pd.read_csv加载文件名每日变动的CSV并解决报错
错误原因
glob.glob() 返回的是匹配到的所有文件路径组成的列表,而pd.read_csv()仅支持传入单个文件路径、文件类对象,直接传入列表会触发类型不匹配报错。
解决方案1:目录下每次仅匹配到1个CSV文件
直接取列表的首个元素传入即可,为避免空列表报错,增加文件存在判断:
import pandas as pd import glob csv_list = glob.glob(r'C:\Users\mc\pythonprojects\csvconversion\*.csv') if csv_list: csv_load = pd.read_csv(csv_list[0]) else: print("未找到匹配的CSV文件")
解决方案2:目录下匹配到多个CSV文件,需合并为同一个DataFrame
遍历列表逐个读取文件后拼接:
import pandas as pd import glob csv_list = glob.glob(r'C:\Users\mc\pythonprojects\csvconversion\*.csv') if csv_list: df_list = [pd.read_csv(file_path) for file_path in csv_list] # ignore_index=True 用于重置拼接后的行索引,避免索引重复 csv_load = pd.concat(df_list, ignore_index=True) else: print("未找到匹配的CSV文件")
内容的提问来源于stack exchange,提问作者Mizanur Choudhury
相关产品推荐
相关产品推荐

