Python合并多个工作簿运行代码报FileNotFoundError错误如何解决
问题原因排查
- 路径拼接错误:
os.listdir()仅返回目标目录下的文件名/文件夹名,不包含父级路径。你直接传入file读取时,Python会默认从脚本运行的当前工作目录查找文件,而非你定义的cwd路径,因此触发找不到文件的报错。 - 读取方法不匹配:你的判断条件是筛选
.csv后缀的文件,却调用了pd.read_excel()(该方法用于读取xls/xlsx等Excel格式文件),csv格式需要用pd.read_csv()读取。 - 弃用方法提示:
DataFrame.append()方法已经在pandas 2.0+版本中被弃用,更推荐使用pd.concat()完成多数据框合并。
修复后代码
import os import pandas as pd cwd = os.path.abspath(r'C:\xxx\xxx\Documents\xxxx\xx Data') files = os.listdir(cwd) print(files) df_list = [] for file in files: if file.endswith('.csv'): # 拼接完整路径 full_path = os.path.join(cwd, file) # 使用匹配的csv读取方法 df_list.append(pd.read_csv(full_path)) # 一次性合并所有数据框 df = pd.concat(df_list, ignore_index=True) df.head()
内容的提问来源于stack exchange,提问作者COCO
相关产品推荐
相关产品推荐

