如何解决PowerShell中Python pandas文件路径被识别为Unicode的问题
解决PowerShell中Python脚本读取Excel路径的问题
以下是几个可行的解决方法,按优先级推荐:
1. 用双反斜杠转义路径
Python中单个反斜杠\是转义字符,会被解析为Unicode转义序列,用双反斜杠\\表示实际的路径分隔符,PowerShell执行时能正确识别:
import pandas as pd # 注意补充完整的Excel文件扩展名(如.xlsx/.xls) excelFilePath = 'C:\\Users\\pa4167\\autoModTest\\excelTrial.xlsx' dfr = pd.read_excel(excelFilePath)
2. 使用原始字符串(修正路径完整性)
原始字符串前缀r会忽略转义字符,但必须确保路径包含完整的文件扩展名,之前失效大概率是漏了后缀:
import pandas as pd excelFilePath = r'C:\Users\pa4167\autoModTest\excelTrial.xlsx' dfr = pd.read_excel(excelFilePath)
3. 用正斜杠替代反斜杠
Python支持将正斜杠/作为路径分隔符,跨系统兼容,完全避免转义问题:
import pandas as pd excelFilePath = 'C:/Users/pa4167/autoModTest/excelTrial.xlsx' dfr = pd.read_excel(excelFilePath)
4. 基于脚本位置自动拼接路径(最可靠)
如果Excel文件和Python脚本在同一目录,用os模块动态获取脚本路径并拼接,彻底避免路径硬编码问题:
import os import pandas as pd # 获取脚本所在的绝对目录 script_dir = os.path.dirname(os.path.abspath(__file__)) # 拼接Excel文件路径(确保文件名+后缀正确) excelFilePath = os.path.join(script_dir, 'excelTrial.xlsx') dfr = pd.read_excel(excelFilePath)
关键注意事项
- 必须补充文件扩展名:pandas无法自动识别无后缀的Excel文件,确认是
.xlsx、.xls还是.xlsm。 - 检查权限:确保PowerShell运行的用户拥有该Excel文件的读取权限。
- 验证路径正确性:可以在PowerShell中直接输入
Test-Path "C:\Users\pa4167\autoModTest\excelTrial.xlsx",返回True说明路径有效。
内容的提问来源于stack exchange,提问作者moQuestions
相关产品推荐
相关产品推荐

