【发布时间】:2021-07-18 23:04:35
【问题描述】:
我遇到了一个似乎无法解决的小问题。我的程序要求用户输入 .csv 文件的路径,然后程序对其进行处理。这是我的代码:
import pandas as pd
path = input("Please enter a path to a .csv file")
data = pd.read_csv(path)
我在终端中运行它,因此将文件拖入其中会产生我认为的绝对路径。路径看起来像/Users/me/Downloads/sample.csv,错误消息是FileNotFoundError: [Errno 2] File b'/Users/me/Downloads/sample.csv ' does not exist: b'/Users/me/Downloads/sample.csv '
我试图在它前面连接一个 r,以便它将其视为原始字符串(这是我的 google 搜索产生的),但这只是将 r's 放在路径中。所以我的问题是这些 b 在路径之前来自哪里以及如何使这个变量路径起作用?
【问题讨论】:
-
该文件路径的末尾似乎有一些额外的空格。
-
看起来像,但我只是将文件拖到终端中,所以我不确定为什么会发生这种情况/成为问题
-
为什么不
path.strip()?在程序运行之后,您不能将字符串设为原始字符串——原始字符串与在源代码中出现的字符串文字中字节的解释方式有关。您使用的是什么操作系统?我假设是 windows,但最好是明确的。出于这样的原因,使用参数而不是input()提示可能会更好,所以更多地说明为什么需要使用input()会很有帮助。 -
我不明白您如何将文件“拖入”
input()语句... -
如果您在 Mac 上将文件拖到终端中,它会在路径周围添加引号,请尝试通过右键单击将路径复制到文件并将其粘贴进去。