如何在Pandas DataFrame读取的文件路径中使用变量名
报错根因
- 核心语法错误出在路径拼接的
r'C:\Users\'部分:Python的原始字符串(r开头的字符串)中,末尾的反斜杠会被识别为对后续单引号的转义,导致该字符串没有正常闭合。后续的+拼接符被判定为字符串外的非法字符,直接触发unexpected character after line continuation character报错。 - 额外问题:直接用
+拼接系统路径属于不规范写法,很容易触发转义字符、斜杠方向不匹配的问题。
修复方案
方案1:直接修正现有语法
调整原始字符串的写法,避免反斜杠出现在原始字符串末尾:
import numpy as np import pandas as pd import getpass user = getpass.getuser() # 修正路径写法 data = pd.read_excel(r'C:\Users' + '\\' + user + r'\Desktop\bulk export.xlsx', sheet_name=1, header=0) df = pd.DataFrame(data, columns= [1,'Record Type']) print (df)
方案2:使用标准库拼接路径(更推荐,完全规避转义问题)
使用Python内置的路径处理工具,不用手动处理斜杠转义,兼容性更强:
基于os.path的写法:
import numpy as np import pandas as pd import getpass import os user = getpass.getuser() file_path = os.path.join('C:\\Users', user, 'Desktop', 'bulk export.xlsx') data = pd.read_excel(file_path, sheet_name=1, header=0) df = pd.DataFrame(data, columns= [1,'Record Type']) print(df)
基于pathlib的写法(Python3.4+支持,更简洁):
import numpy as np import pandas as pd import getpass from pathlib import Path user = getpass.getuser() file_path = Path('C:/Users') / user / 'Desktop' / 'bulk export.xlsx' data = pd.read_excel(file_path, sheet_name=1, header=0) df = pd.DataFrame(data, columns= [1,'Record Type']) print(df)
内容的提问来源于stack exchange,提问作者ah2Bwise
相关产品推荐
相关产品推荐

