gpt4 book ai didi

python - 如何在接受用户输入的同时读取 pandas read_csv 中带有转义字符的文件路径?

转载 作者:太空宇宙 更新时间:2023-11-03 14:46:42 24 4
gpt4 key购买 nike

我正在尝试接受用户的路径,然后在该路径加载电子表格:

df_path = input('What is the file path?')
df = pd.read_csv(df_path, index_col=2)

一些用户在粘贴路径时,被告知由于转义序列的原因,该路径无效。这里,\166 被转换为 v:

df_path = input('What is the file path?')

C:\Data\166 - data\data.csv #由用户输入

df = pd.read_csv(df_path, index_col=2)

FileNotFoundError: [Errno 2] No such file or directory: "C:\\Datav - data\\data.csv"

我知道手动加载代码中的路径,这可以解释为:

dataset = pd.read_csv(r"C:\Data\166 - data\data.csv", index_col=2)

但是,在接受用户输入并将其存储为变量时,我找不到一种方法来完成这项工作(尝试了多种方法,这里有一个例子):

df_path = input('What is the file path?')

“C:\Data\166 - data\data.csv”#由用户输入

df = pd.read_csv("r'" + df_path, index_col=2)

OSError: [Errno 22] Invalid argument: "r'C:\\Datav - data\\data.csv"

尝试重写路径,将 \ 替换为 \\ 也不起作用:

df_path = df_path.replace("\", "\\")

SyntaxError: unexpected character after line continuation character

-

df_path = df_path.replace(r"\", r"\\")

SyntaxError: unexpected character after line continuation character

如何做到这一点?

最佳答案

您要将 \166 转换为 v,需要替换为 \\166

它与 r'\166' 一起使用的原因是因为您告诉解释器按字面意思获取字符串。其中反斜杠字面上是一个反斜杠。

在您的工作中,您已将字符串 "r'" 附加到另一个字符串的前面,这就是为什么它找不到目录 "r'C:/“

简而言之,"r'string'"r'string' 不同,其中 r 位于字符串引号之外。

这是一个break down在原始字符串上。

如果将 r 添加到第二个代码块中的字符串前面,您应该得到一个有效的解决方案,如下所示:

df_path = r"C:\Data\166 - data\data.csv"

或者用两个反斜杠编写字符串也会起到同样的作用:

df_path = "C:\\Data\\166 - data\\data.csv"

关于python - 如何在接受用户输入的同时读取 pandas read_csv 中带有转义字符的文件路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46185901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com