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



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

相关内容

  • 没有找到相关文章

最新更新