Pandas read_csv HTTPError: not Found



我得到一个HTTPError: not Found错误时使用pandas read_csv.

在浏览器中输入链接我可以访问CSV,当使用read_csv时它返回HTTP错误,所以我知道文件和url存在。

以前,这段代码是工作的,但在更改python版本后,它停止了。我有一种感觉,这是与创建URL/URL请求有关,但无法确定。

Pandas版本1.2.5;Python ver 3.9.12

import pandas as pd
url= r'http://fc3eqrp01:8000/data/SimulationOutputFilesNewModel_ShortTerm/s2outs.csv'
df = pd.read_csv(url)

Traceback (most recent call last):
File E:PythontoSQLSave S2OutsSave_S2Outs.py:13 in <module>
df = pd.read_csv(url)
File ~AppDataRoamingPythonPython39site-packagespandasioparsers.py:610 in read_csv
return _read(filepath_or_buffer, kwds)
File ~AppDataRoamingPythonPython39site-packagespandasioparsers.py:462 in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
File ~AppDataRoamingPythonPython39site-packagespandasioparsers.py:819 in __init__
self._engine = self._make_engine(self.engine)
File ~AppDataRoamingPythonPython39site-packagespandasioparsers.py:1050 in _make_engine
return mapping[engine](self.f, **self.options)  # type: ignore[call-arg]
File ~AppDataRoamingPythonPython39site-packagespandasioparsers.py:1867 in __init__
self._open_handles(src, kwds)
File ~AppDataRoamingPythonPython39site-packagespandasioparsers.py:1362 in _open_handles
self.handles = get_handle(
File ~AppDataRoamingPythonPython39site-packagespandasiocommon.py:558 in get_handle
ioargs = _get_filepath_or_buffer(
File ~AppDataRoamingPythonPython39site-packagespandasiocommon.py:289 in _get_filepath_or_buffer
req = urlopen(filepath_or_buffer)
File ~AppDataRoamingPythonPython39site-packagespandasiocommon.py:195 in urlopen
return urllib.request.urlopen(*args, **kwargs)
File C:ProgramDataAnaconda3Liburllibrequest.py:214 in urlopen
return opener.open(url, data, timeout)
File C:ProgramDataAnaconda3Liburllibrequest.py:523 in open
response = meth(req, response)
File C:ProgramDataAnaconda3Liburllibrequest.py:632 in http_response
response = self.parent.error(
File C:ProgramDataAnaconda3Liburllibrequest.py:561 in error
return self._call_chain(*args)
File C:ProgramDataAnaconda3Liburllibrequest.py:494 in _call_chain
result = func(*args)
File C:ProgramDataAnaconda3Liburllibrequest.py:641 in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
HTTPError: Not Found

您可以尝试使用file://前缀代替http或尝试使用read_html源。如果csv位于需要访问的服务器上,则可能需要发送请求头。我还要补充一点,你可以尝试这种方法:https://stackoverflow.com/a/61110214/8564439。

最新更新