当我使用下面附加了原始字符串文字的变量时,我收到一个文件未找到错误,我相信因为文件路径包含需要转义的\f,我想将路径读取为原始文字,因此尝试手动将"r"前缀添加到路径字符串并将其分配给我称为路径的变量,如下所示, 但它不起作用。
import pandas as pd
path = raw_input("Enter location of data file:")
path = str('r"'+ str(path[1:]))
print path
try:
df=pd.read_excel(path)
except:
df= pd.read_csv(path)
df.head
prints r"C:\Users\faulknerdw\Anaconda\Progs\GW_data.csv">
但是如果我长手输入看起来完全相同的东西,它会起作用。
例如df=pd.read_excel(r"C:UsersfaulknerdwAnacondaProgsGW_data.csv")
和
df= pd.read_csv(r"C:UsersfaulknerdwAnacondaProgsGW_data.csv")
这是怎么回事?
感谢@DrawT的回答:https://stackoverflow.com/a/35920186/6108107
path = path.replace('\','/') # replaces backslashes with forward slashes
path = path[1:len(path)-1] # to remove quote marks
将反斜杠替换为仍被识别为归档路径但不需要转义的正斜杠,然后清理引号。
然后,Pandas 将接受该文件路径变量作为 Excel 文件或 CSV 的位置。