问题:
用pands读取网页数据的时候出错
import pandas data=pandas.read_csv("https://raw.githubusercontent.com/rasbt/python_reference/master/Data/some_soccer_data.csv")
<a href="https://raw.githubusercontent.com/rasbt/python_reference/master/Data/some_soccer_data.csv")">
Traceback (most recent call last):
File "D:\ProgramData\Anaconda3\lib\urllib\request.py", line 1350, in do_open
h.request(req.get_method(), req.selector, req.data, headers,
File "D:\ProgramData\Anaconda3\lib\http\client.py", line 1255, in request
self._send_request(method, url, body, headers, encode_chunked)
File "D:\ProgramData\Anaconda3\lib\http\client.py", line 1301, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "D:\ProgramData\Anaconda3\lib\http\client.py", line 1250, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "D:\ProgramData\Anaconda3\lib\http\client.py", line 1010, in _send_output
self.send(msg)
File "D:\ProgramData\Anaconda3\lib\http\client.py", line 950, in send
self.connect()
File "D:\ProgramData\Anaconda3\lib\http\client.py", line 1424, in connect
self.sock = self._context.wrap_socket(self.sock,
File "D:\ProgramData\Anaconda3\lib\ssl.py", line 500, in wrap_socket
return self.sslsocket_class._create(
File "D:\ProgramData\Anaconda3\lib\ssl.py", line 1040, in _create
self.do_handshake()
File "D:\ProgramData\Anaconda3\lib\ssl.py", line 1309, in do_handshake
self._sslobj.do_handshake()
SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate is not yet valid (_ssl.c:1123)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "
data=pandas.read_csv("https://raw.githubusercontent.com/rasbt/python_reference/master/Data/some_soccer_data.csv")
File "D:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 686, in read_csv
return _read(filepath_or_buffer, kwds)
File "D:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 434, in _read
fp_or_buf, _, compression, should_close = get_filepath_or_buffer(
File "D:\ProgramData\Anaconda3\lib\site-packages\pandas\io\common.py", line 183, in get_filepath_or_buffer
req = urlopen(filepath_or_buffer)
File "D:\ProgramData\Anaconda3\lib\site-packages\pandas\io\common.py", line 137, in urlopen
return urllib.request.urlopen(*args, **kwargs)
File "D:\ProgramData\Anaconda3\lib\urllib\request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "D:\ProgramData\Anaconda3\lib\urllib\request.py", line 525, in open
response = self._open(req, data)
File "D:\ProgramData\Anaconda3\lib\urllib\request.py", line 542, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
File "D:\ProgramData\Anaconda3\lib\urllib\request.py", line 502, in _call_chain
result = func(*args)
File "D:\ProgramData\Anaconda3\lib\urllib\request.py", line 1393, in https_open
return self.do_open(http.client.HTTPSConnection, req,
File "D:\ProgramData\Anaconda3\lib\urllib\request.py", line 1353, in do_open
raise URLError(err)
URLError:
原因和解决方案:
这是因为你电脑的系统时间不对,导致的,比如我现在的时间是2021年3月19日,我把系统时间改为2018年3月1日就会出现这个错误提示。(如果改为2021年1月也不会有错误提示,也就是说明,你的系统时间不是特别离谱就没有关系,如果你的系统时间设定的太离谱就会出问题)
也就是说2018年的时候这个文件可能还没有认证生成,你怎么可能正确导入呢?哈哈
这个时候你把你的系统时间改为当前的正确时间,执行上面的代码就不会出现错误提示了。