Python按*ES101*.xlsx模式匹配转xlsx为csv失败,提示无此文件
解决pd.read_excel找不到文件的问题
你的代码报错主要有两个原因:
pd.read_excel不支持直接在路径里用通配符*匹配文件名,它只会把带*的路径当成字面路径去查找,自然找不到对应文件- 路径里多了不必要的双引号
",导致系统识别的路径变成了带引号的无效路径
用glob模块就能解决这个问题,它专门用来处理文件路径的通配符匹配。修正后的代码如下:
import pandas as pd import glob # 匹配所有符合*ES101*.xlsx的文件路径,返回结果为列表 matching_files = glob.glob('/home/repo/*ES101*.xlsx') # 因为只有一个符合条件的文件,直接取列表第一个元素 read_file = pd.read_excel(matching_files[0]) read_file.to_csv('/home/repo/ES101.csv', index=None, header=True)
代码说明:
glob.glob()会扫描指定目录,返回所有匹配通配符模式的文件路径- 因为你明确只有一个符合条件的文件,所以用
[0]直接取出列表中的第一个路径即可 - 去掉了原路径中的多余引号,确保路径格式正确
内容的提问来源于stack exchange,提问作者Marcus
相关产品推荐
相关产品推荐

