为什么 read_csv 或 read_excel 不采用 'r' 作为原始字符串文字?

Why wont read_csv or read_excel take the 'r' for raw string literal?

当我使用一个带有下面附加的原始字符串文字的变量时,我收到一个找不到文件的错误,我相信是因为文件路径包含需要转义的 \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 

打印 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")

怎么回事?

感谢@DrawT 的回答:

path = path.replace('\','/') # replaces backslashes with forward slashes
path = path[1:len(path)-1] # to remove quote marks

将反斜杠替换为仍被识别为文件路径但不需要转义的正斜杠,然后清除引号。

pandas 将接受该文件路径变量作为 excel 文件或 csv 的位置。