如何将glob获取的csv_file变量传入pandas的read_csv()函数?
解决pd.read_csv()接收glob结果报错的问题
嘿,这个问题我之前也碰到过!咱们先理清楚为啥会报错:
你用glob.glob('******* Output.csv')得到的csv_file是一个列表(从你打印的['1815910 Output.csv']就能看出来),但pd.read_csv()需要的是单个字符串格式的文件路径,直接传列表自然会触发类型错误。
给你几个可行的解决方案:
1. 直接取列表第一个元素(适合确定只有一个匹配文件的情况)
既然你已经确认只有一个目标csv文件,直接通过索引[0]提取列表里的字符串路径就行:
import glob import pandas as pd csv_file = glob.glob('******* Output.csv') # 提取列表中的第一个文件路径 d = pd.read_csv(csv_file[0])
2. 遍历列表处理多个匹配文件(兼容多文件场景)
如果以后可能有多个符合格式的csv文件,可以用循环遍历列表,逐个读取甚至合并成一个DataFrame:
import glob import pandas as pd csv_files = glob.glob('******* Output.csv') # 遍历所有匹配的文件 dfs = [] for file in csv_files: df = pd.read_csv(file) dfs.append(df) # 合并所有DataFrame(可选) combined_df = pd.concat(dfs, ignore_index=True)
3. 增加空列表判断(避免索引报错)
为了防止没有匹配到文件时触发索引错误,可以先判断列表是否非空:
import glob import pandas as pd csv_file = glob.glob('******* Output.csv') if csv_file: d = pd.read_csv(csv_file[0]) else: print("没有找到符合格式的CSV文件哦!")
内容的提问来源于stack exchange,提问作者geojasm
相关产品推荐
相关产品推荐

