【发布时间】:2022-06-17 15:33:27
【问题描述】:
我正在使用 streamlit 创建一个工具,该工具接受用户输入(csv 文件名)并将输出清理/生成为数据框。我不断收到 OSError: [Errno 22] Invalid argument: 'M:/Desktop/AutomationProject/'
我知道这个错误的所有过去解决方案,但是他们都说在 Windows 上将反斜杠更改为正斜杠,这是一个快速修复,但是在这样做之后我仍然遇到同样的问题。
请注意,我的工具在输入文件名时仍然有效,只是一直显示错误(如下)
提前感谢您的帮助!
代码:
st.header('1 - Express Autocalls')
autocall_gbp_file = str(st.text_input("Please type in your Autocall File Name (GBP)"))
express_gbp = pd.read_csv("M:/Desktop/AutomationProject/" + autocall_gbp_file)
OSError: [Errno 22] 无效参数:'M:/Desktop/AutomationProject/' 追溯: _run_script 中的文件“C:\Users\adavie18.conda\envs\projectenv\lib\site->packages\streamlit\scriptrunner\script_runner.py”,第 475 行 exec(代码,模块。dict) 文件“M:\Desktop\AutomationProject\AutocallApp.py”,第 176 行,在 express_gbp = pd.read_csv("M:/Desktop/AutomationProject/" + autocall_gbp_file) 文件“C:\Users\adavie18.conda\envs\projectenv\lib\site-packages\pandas\util_decorators.py”,>第 311 行,在包装器中 返回函数(*args,**kwargs) 文件“C:\Users\adavie18.conda\envs\projectenv\lib\site-packages\pandas\io\parsers\readers.py”,>第 680 行,在 read_csv return _read(filepath_or_buffer, kwds) 文件“C:\Users\adavie18.conda\envs\projectenv\lib\site-packages\pandas\io\parsers\readers.py”,>第 575 行,在 _read parser = TextFileReader(filepath_or_buffer, **kwds) 文件“C:\Users\adavie18.conda\envs\projectenv\lib\site-packages\pandas\io\parsers\readers.py”,>第 933 行,在 init self._engine = self._make_engine(f, self.engine) 文件“C:\Users\adavie18.conda\envs\projectenv\lib\site-packages\pandas\io\parsers\readers.py”,>第 1217 行,在 _make_engine self.handles = get_handle(# type: ignore[call-overload] 文件“C:\Users\adavie18.conda\envs\projectenv\lib\site-packages\pandas\io\common.py”,第 789 行,> 在 get_handle 中 句柄 = 打开(
【问题讨论】:
-
read_csv 需要一个 csv 文件,但看起来你正在给它一个 python 文件
M:\Desktop\AutomationProject\AutocallApp.py -
@SembeiNorimaki 抱歉 - AutocallApp.py 是用于运行程序的文件的名称。用户输入是 filename.csv 所以我肯定是在提供一个 CSV 文件。我错过了什么吗?
-
所以你能打印你传递给 read_csv 的内容吗?执行
filename="M:/Desktop/AutomationProject/" + autocall_gbp_file'之类的操作,然后执行print(filename) -
是的,我可以打印我通过的文件名,我只是在生成用户输入之前在我的流光页面上收到错误。我一直在尝试添加 try/except 以避免这种情况,但仍然没有运气!
-
@SteinnHauserMagnusson 这已经奏效了!非常感谢
标签: python python-3.x conda streamlit