python - 在 Python "' 模块中将 html 读取到数据框时出错模块'对象没有属性 '_base'“

标签 python pandas dataframe

我在尝试从 url(链接 here)读取表格时遇到此错误。

代码如下:

import pandas as pd
link = "http://www.checkee.info/main.php?dispdate="
c=pd.read_html(link)

返回的错误是:AttributeError: 'module' object has no attribute '_base'

特别是

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-2-5e6036f08795> in <module>()
      1 link = "http://www.checkee.info/main.php?dispdate="
----> 2 c=pd.read_html(link)

/Users/lanyiyun/anaconda/lib/python2.7/site-packages/pandas/io/html.pyc in read_html(io, match, flavor, header, index_col, skiprows, attrs, parse_dates, tupleize_cols, thousands, encoding)
    859     pandas.read_csv
    860     """
--> 861     _importers()
    862 
    863     # Type check here. We don't want to parse only to fail because of an

/Users/lanyiyun/anaconda/lib/python2.7/site-packages/pandas/io/html.pyc in _importers()
     40 
     41     try:
---> 42         import bs4  # noqa
     43         _HAS_BS4 = True
     44     except ImportError:

/Users/lanyiyun/anaconda/lib/python2.7/site-packages/bs4/__init__.py in <module>()
     28 import warnings
     29 
---> 30 from .builder import builder_registry, ParserRejectedMarkup
     31 from .dammit import UnicodeDammit
     32 from .element import (

/Users/lanyiyun/anaconda/lib/python2.7/site-packages/bs4/builder/__init__.py in <module>()
    312 register_treebuilders_from(_htmlparser)
    313 try:
--> 314     from . import _html5lib
    315     register_treebuilders_from(_html5lib)
    316 except ImportError:

/Users/lanyiyun/anaconda/lib/python2.7/site-packages/bs4/builder/_html5lib.py in <module>()
     68 
     69 
---> 70 class TreeBuilderForHtml5lib(html5lib.treebuilders._base.TreeBuilder):
     71 
     72     def __init__(self, soup, namespaceHTMLElements):

AttributeError: 'module' object has no attribute '_base'

谁知道是什么问题导致的?谢谢!

最佳答案

我刚刚遇到了同样的问题,并找到了解决方案 on this page on github .为了完整起见,评论/答案是:

这是上游包 html5lib 的问题...要修复,强制降级到旧版本:

pip install --upgrade html5lib==1.0b8

这解决了我的问题。

关于python - 在 Python "' 模块中将 html 读取到数据框时出错模块'对象没有属性 '_base'“,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38647716/

相关文章:

python - 查找集合的范围,其中集合中的值环绕模数

python - ffmpeg合并音视频错误: could not find codec parameters

python - 为什么 pandas 对日期时间索引的乘法处理方式不同?

python - 如何在数据框中绘制行

python - 来自 csv 的 3D Pandas 数据框

python - 如何评估 DataFrame 中包含的按行表达式(如 df.eval() 但动态)?

python - 为什么定位 Shadow dom 元素在第 5 个元素处失败?

python - 组合来自 for 循环的响应并将它们导出到附加列中以 excel

python - 比较两个数据框以进行分类

python-3.x - 根据另一个数据帧的条件对 sns 条形图进行着色