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