熊猫版对桌子的影响

时间:2019-03-15 22:00:11

标签: python pandas

我有一个带表格的html文件。(维基百科链接) 我正在尝试使用熊猫访问表。

我的代码是:

dfs=pd.read_html(url1)
for i in range(0,5):
    print(dfs[i])

这在熊猫版本0.23.0中有效

,但在0.23.4版本上无效。 我得到了错误

    dfs=pd.read_html(url1)
  File "C:\ProgramData\Anaconda2\lib\site-packages\pandas\io\html.py", line 987, in read_html
    displayed_only=displayed_only)
  File "C:\ProgramData\Anaconda2\lib\site-packages\pandas\io\html.py", line 815, in _parse
    raise_with_traceback(retained)
  File "C:\ProgramData\Anaconda2\lib\site-packages\pandas\io\html.py", line 797, in _parse
    tables = p.parse_tables()
  File "C:\ProgramData\Anaconda2\lib\site-packages\pandas\io\html.py", line 213, in parse_tables
    tables = self._parse_tables(self._build_doc(), self.match, self.attrs)
  File "C:\ProgramData\Anaconda2\lib\site-packages\pandas\io\html.py", line 471, in _parse_tables
    raise ValueError('No tables found')
ValueError: No tables found

如何解决这个问题

1 个答案:

答案 0 :(得分:0)

在大熊猫上使用漂亮的肥皂

import pandas as pd
import requests
from bs4 import BeautifulSoup

res = requests.get("https://en.wikipedia.org/wiki/List_of_bicycle-sharing_systems")
soup = BeautifulSoup(res.content,'html.parser') 
table = soup.find_all('table')[0] 
df = pd.read_html(str(table))

此语法使用默认的html.parser。您可以使用其他解析器之一(首先需要使用pip安装它们):

  • lxml

  • lxml-xml / xml

  • html5lib