【问题标题】:Getting file path from user input in Python3从 Python3 中的用户输入获取文件路径
【发布时间】:2018-08-09 15:32:28
【问题描述】:

我正在尝试从用户输入中获取文件路径。我使用了以下语法

import pandas as pd


path = input("Enter the path of your file:")
sheetname = input("Enter the sheet name:")

path_1 = ("r'"+path+"'")

df1 = pd.read_excel(path_1, sheet_name = sheetname)

但出现“OSError: [Errno 22] Invalid argument”错误

有人可以帮我完成它

【问题讨论】:

  • 这段代码没有问题。您输入的文件路径一定是假的。
  • 看起来您正在尝试使用path_1 = ("r'"+path+"'") 创建一个“原始字符串文字”,但这只会创建一个像“r'foo'”这样的字符串,这不是一个有效的路径.我猜你甚至没有在read_excel 中使用path_1 所以也许你应该从你的代码sn-p 中删除它?
  • 您在input() 中输入的字符串无论如何都会被转义。如果您输入\n\n,您将得到"\\n\\n",而不是两个换行符。
  • @rkersh 我已经更正了语法,虽然我得到了同样的错误。有没有其他方法可以完成?
  • @Cyber​​tron:我不认为你理解我的评论。您构造path_1 的方式不正确。您应该恢复您的编辑并恢复到原来的状态(即,只需在 read_excel 中使用 path)。你能告诉我们你在运行这个程序时在命令行输入的路径和工作表名吗?

标签: python python-3.x


【解决方案1】:

您的输入可能有一些问题。例如,如果您的系统需要正斜杠并且您给它反斜杠,或者如果您的输入不包含文件扩展名,则会引发错误。

另外,查看pandas.read_excel 的文档,看起来sheet_name 实际上是文件本身中的一张表。如果您只将文件夹作为path 并将文件名作为sheet_name,这也会导致错误。不确定这是否是你正在做的,但我很确定我会这样做:)

【讨论】:

    猜你喜欢
    • 2020-01-07
    • 2015-10-26
    • 2017-07-27
    • 2018-06-23
    • 1970-01-01
    • 2020-01-19
    • 2017-03-16
    • 1970-01-01
    相关资源
    最近更新 更多