为了更加用户友好,我创建了一个提示,要求用户输入文件路径。
print('Please enter file path surrounded by quotes.')
path = 'r' + input()
df = pd.DataFrame(pd.read_csv(path, index_col=False))
输入为
"C:\path\somefile.csv"
输出回报
FileNotFoundError: [Errno 2] File b'r"C:\path\somefile.csv"' does not exist: b'r"C:\path\somefile.csv"'
如果我删除变量输入并将文件直接拖放到read_csv参数中,它将正常工作。有人可以教育我吗?
答案 0 :(得分:3)
我认为您正在将原始字符串文字与字符串值混淆。当我们写类似
csv = pd.read_csv(r'C:\path\somefile.csv')
r'C:\path\somefile.csv'
是字符串文字。这就是我们在Python代码中表示字符串 的方式。用户永远都不会意识到r''
表示法,包括字母r
和引号。相反,他们应该只键入在其他程序中看到的路径。这意味着您可以做
path = input()
也不必要求用户键入任何引号。
答案 1 :(得分:2)
您过度设计了代码。就这么简单:
print('Please enter file path without quotes.')
path = input()
df =pd.read_csv(path, index_col=False)
您不需要引号,因为它们会自动添加