【发布时间】:2021-05-31 23:16:47
【问题描述】:
我正在使用 pandas read_csv 下载文件并将其读取到数据帧中。
import pandas as pd
df = pd.read_csv('https://some-monitor.com/rest/data', sep=';', thousands='.', decimal=',')
在本地,脚本工作正常,数据被读取到数据框。但是,当我 ssh 进入远程服务器并在那里运行脚本时,我收到以下错误:
File "/usr/lib/python3/dist-packages/pandas/io/parsers.py", line 678, in parser_f
return _read(filepath_or_buffer, kwds)
File "/usr/lib/python3/dist-packages/pandas/io/parsers.py", line 424, in _read
filepath_or_buffer, encoding, compression)
File "/usr/lib/python3/dist-packages/pandas/io/common.py", line 195, in get_filepath_or_buffer
req = _urlopen(filepath_or_buffer)
File "/usr/lib/python3.7/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.7/urllib/request.py", line 531, in open
response = meth(req, response)
File "/usr/lib/python3.7/urllib/request.py", line 641, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python3.7/urllib/request.py", line 569, in error
return self._call_chain(*args)
File "/usr/lib/python3.7/urllib/request.py", line 503, in _call_chain
result = func(*args)
File "/usr/lib/python3.7/urllib/request.py", line 649, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 413:
为什么会这样?为什么脚本可以在本地运行,但不能在服务器上运行?服务器和我的本地操作系统都是一样的:Ubuntu。
【问题讨论】:
-
分块阅读是否有效?
-
@FelipeLanza 也尝试了
chunksize选项,但仍然是同样的错误。也试过wget和curl,结果一样 -
先尝试下载文件。您可以使用 pretty-downloader 库下载文件,然后从本地计算机加载它。
-
@DeadSec,谢谢!你的建议奏效了。我将其发布为答案
标签: python-3.x pandas urllib