Python导入Excel文件前能否预先定义文件路径与文件名?
问题核心原因
你代码中的file_path、raw_data是预先定义的变量,直接写在字符串常量里时Python不会自动替换为变量对应的实际值,会被识别为普通文本,导致路径无效读取失败。
可用解决方案
方法1:f-string拼接(Python3.6及以上最简便)
# 导入依赖 import pandas as pd # 自定义参数,后续修改只需调整这部分即可 file_path = "实际文件夹路径,例如 C:/用户/文档/dataset" raw_data = "实际Excel文件名(无需加后缀)" target_sheet = "要读取的工作表名称" # 读取文件 PL_raw_data = pd.read_excel(f"{file_path}/{raw_data}.xlsx", sheet_name=target_sheet)
方法2:os.path.join拼接(适配多操作系统更稳定)
自动处理Windows和macOS/Linux的路径斜杠差异,避免跨系统运行出错
import pandas as pd import os file_path = "实际文件夹路径" raw_data = "实际Excel文件名(无需加后缀)" target_sheet = "要读取的工作表名称" full_file_path = os.path.join(file_path, f"{raw_data}.xlsx") PL_raw_data = pd.read_excel(full_file_path, sheet_name=target_sheet)
方法3:pathlib路径操作(Python3.4及以上支持,面向对象写法)
import pandas as pd from pathlib import Path file_path = Path("实际文件夹路径") raw_data = "实际Excel文件名(无需加后缀)" target_sheet = "要读取的工作表名称" full_file_path = file_path / f"{raw_data}.xlsx" PL_raw_data = pd.read_excel(full_file_path, sheet_name=target_sheet)
注意事项
- 如果你的Excel文件后缀为
.xls,请将代码中的.xlsx替换为对应后缀 - Windows系统复制的路径默认使用反斜杠
\,可以统一改为正斜杠/,或者给路径字符串前加r避免转义字符生效,例如r"C:\用户\文档\dataset" - 确保工作表名称和Excel文件内的实际名称完全一致,注意大小写、前后空格的差异
内容的提问来源于stack exchange,提问作者sof.
相关产品推荐
相关产品推荐

