- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这段代码给我一个错误:
代码:
import pandas as pd
fiddy_states = pd.read_html("https://simple.wikipedia.org/wiki/List_of_U.S._states")
错误:
> ---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-9-87a39d7446f6> in <module>()
1 import pandas as pd
----> 2 df_states = pd.read_html('http://www.50states.com/abbreviations.htm#.Vmz0ZkorLIU')
C:\Anaconda3\lib\site-packages\pandas\io\html.py in read_html(io, match, flavor, header, index_col, skiprows, attrs, parse_dates, tupleize_cols, thousands, encoding)
864 _validate_header_arg(header)
865 return _parse(flavor, io, match, header, index_col, skiprows,
--> 866 parse_dates, tupleize_cols, thousands, attrs, encoding)
C:\Anaconda3\lib\site-packages\pandas\io\html.py in _parse(flavor, io, match, header, index_col, skiprows, parse_dates, tupleize_cols, thousands, attrs, encoding)
716 retained = None
717 for flav in flavor:
--> 718 parser = _parser_dispatch(flav)
719 p = parser(io, compiled_match, attrs, encoding)
720
C:\Anaconda3\lib\site-packages\pandas\io\html.py in _parser_dispatch(flavor)
661 if flavor in ('bs4', 'html5lib'):
662 if not _HAS_HTML5LIB:
--> 663 raise ImportError("html5lib not found, please install it")
664 if not _HAS_BS4:
665 raise ImportError("BeautifulSoup4 (bs4) not found, please install it")
ImportError: html5lib not found, please install it
尽管我安装了 html5lib、lxml 和 BeatifulSoup4 库并进行了更新。
最佳答案
考虑使用 xpath 表达式用 lxml 解析 html 表,然后将列表合并到数据框中:
import urllib.request as rq
import lxml.etree as et
import pandas as pd
# DOWNLOAD WEB PAGE CONTENT
rqpage = rq.urlopen('https://simple.wikipedia.org/wiki/List_of_U.S._states')
txtpage = rqpage.read()
dom = et.HTML(txtpage)
# XPATH EXPRESSIONS TO LISTS (SKIPPING HEADER COLUMN)
abbreviation= dom.xpath("//table[@class='wikitable']/tr[position()>1]/td[1]/b/text()")
state = dom.xpath("//table[@class='wikitable']/tr[position()>1]//td[2]/a/text()")
capital = dom.xpath("//table[@class='wikitable']/tr[position()>1]//td[3]/a/text()")
incorporated = dom.xpath("//table[@class='wikitable']/tr[position()>1]//td[4]/text()")
# CONVERT LISTS TO DATA FRAME
df = pd.DataFrame({'Abbreviation':abbreviation,
'State':state,
'Capital':capital,
'Incorporated':incorporated})
print(df.head())
# Abbreviation Capital Incorporated State
#0 AL Montgomery December 14, 1819 Alabama
#1 AK Juneau January 3, 1959 Alaska
#2 AZ Phoenix February 14, 1912 Arizona
#3 AR Little Rock June 15, 1836 Arkansas
#4 CA Sacramento September 9, 1850 California
关于python - 在 Pandas 中使用 read_html() 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34059323/
我正在看这个很好的答案:https://stackoverflow.com/a/58211397/3502164 . 解决方案的开头包括: library(httr) library(xml2) gr
我正在尝试从 wiki URL 中提取美国各州,为此我正在使用 Python Pandas。 import pandas as pd import html5lib f_states = pd.rea
无法从 1,2,3,4,5,6 列中获取 CCCCCCC ,将 pd.read_html 格式更改为 123456 后,我的 预期结果 应保留 1,2,3,4,5,6 HTML 代码 html = "
尝试抓取网页标题,但在名为“tweg.com”的网站上遇到问题 library(httr) library(rvest) page.url % html_text() # from rvest r
我想迭代本地计算机上的多个目录,每个目录都包含一个 HTML 文件。我将每个文件的路径存储在列表变量中,但现在我想迭代每个文件并将其读入诸如 pd.read_html 之类的内容,以便从 HTML 文
我正在尝试保存通过 pd.read_html() 引入的多个表中的数据。如果我打印 df,我可以看到它捕获了所有数据,但是在保存数据时它只将第一个表保存到 excel。如何将表格分开,以便我可以将每个
我正在使用以下 read_html() 调用来读取表格(在付费专区后面): df = pd.read_html('http://markets.ft.com/data/equities/tearshe
我的目标是编写一个解析器,从给定的维基百科 URL 收集所有表格数据。我一直在尝试使用 pandas.read_html 方法从示例维基百科页面收集所有表格。不幸的是,它似乎并没有从页面中收集所有表格
我正在使用 pandas.read_html 读取一个 xlm 文件并且几乎完美地工作,问题是该文件使用逗号作为小数点分隔符而不是点(read_html 中的默认值>). 我可以很容易地用一个文件中的
我有这个简单的一行脚本: from pandas import read_html print read_html('http://money.cnn.com/data/hotstocks/', fl
我使用 pd.read_html() 从网页导入表格,但 Python 没有将数据结构化为数据框,而是将其导入为列表。如何将数据导入为数据框?谢谢! 代码如下: import pandas as pd
我正尝试通过此 URL 在 Yahoo Finance 中获取主要世界指数的列表:https://finance.yahoo.com/world-indices .我首先尝试通过运行来获取表中的索引
我用这个代码 library(rvest) url<-read_html("http://en.wikipedia.org/wiki/Brazil_national_football_team") 我
我想检索以下网站上的表格并将它们存储在 Pandas 数据框中:https://www.acf.hhs.gov/orr/resource/ffy-2012-13-state-of-colorado-o
我无法找到如何正确索引我的数据框列 我尝试了一些方法,但找不到合适的方法 import pandas as pd df = pd.read_html('sbi.html') data = df[1]
我正在尝试使用 Pandas read_html 函数获取股票代码列表(而不是使用 Beautiful Soup 来抓取网络)。 我引用的网站是: https://en.wikipedia.org/w
我正在使用 bs4 解析一个 html 页面并提取一个表,下面给出了示例表,我试图将它加载到 pandas 中,但是当我调用 pddataframe = pd.read_html(LOTable,sk
我可以使用下面的代码从一个 URL 打印/获取 CSV 数据框 import bs4 as bs import pandas as pd dfs = pd.read_html('http://www.
我正在使用 pandas 来抓取网站,但它返回的是一整列 'nan' 值,而不是正确的值。我尝试更改几个 read_html() 参数,例如 flavor、converters 和 na_values
我注册通过提供商获取货币价格。当我使用 pd.read_html('URL') 时,出现 403 错误 - 权限被拒绝。所以我然后尝试通过这样做来模拟浏览器- import pandas as pd
我是一名优秀的程序员,十分优秀!