为什么read_csv或read_excel不使用'r'表示原始字符串文字?

时间:2018-07-05 05:59:08

标签: python pandas path filepath

当我在下面使用带有原始字符串文字的变量时出现文件未找到错误,我相信因为文件路径包含\ 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")

这是怎么回事?

1 个答案:

答案 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的位置。