当我在下面使用带有原始字符串文字的变量时出现文件未找到错误,我相信因为文件路径包含\ f需要转义,我希望将路径读取为原始文字,因此尝试手动将'r'前缀添加到路径字符串,并将其分配给我称为path的变量,如下所示,但这不起作用。
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
打印r“ C:\ Users \ faulknerdw \ Anaconda \ Progs \ GW_data.csv”
但是如果我输入似乎完全相同的东西,它会起作用。例如
df=pd.read_excel(r"C:\Users\faulknerdw\Anaconda\Progs\GW_data.csv")
和
df= pd.read_csv(r"C:\Users\faulknerdw\Anaconda\Progs\GW_data.csv")
这是怎么回事?
答案 0 :(得分:0)
感谢@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的位置。