我正在阅读一个带有pd.read_html的HTML表,但结果是以列表的形式出现的,我想将其转换为一个pandas字符串,这样我就可以继续对同一个字符串进行进一步的操作。我使用以下脚本
import pandas as pd
import html5lib
data=pd.read_html('http://www.espn.com/nhl/statistics/player/_/stat/points/sort/points/year/2015/seasontype/2',skiprows=1)
字符串
由于我的结果是1列表,我试图将其转换为一个 Dataframe ,
data1=pd.DataFrame(Data)
型
结果为0
0 0 1 2 3 4...
型
由于结果是一个列表,我不能应用任何功能,如重命名,dropna,drop。
我将感激每一个帮助
4条答案
按热度按时间2o7dmzc51#
我认为如果需要选择列表的第一项,需要添加
[0]
,因为read_html
返回list of DataFrames
:所以你可以用途:
个字符
atmip9wb2#
如果你的框架最后的列索引为0,1,2等,标题在第一行,(如上所述)只要指定列名在第一行,
header=0
如果没有这个,pandas可能会看到混合的数据类型-第1行是文本,其余的是数字,并将列转换为对象,而不是int 64。
整条线将是:
字符串
[0]
是可能表列表中的第一个表。也有处理NA值的选项。在这里查看文档:https://pandas.pydata.org/docs/reference/api/pandas.read_html.html
yizd12fk3#
我注意到列表中的DataFrames都是您试图分析的同一个表/数据集的一部分,因此与其将它们拆分然后合并在一起,更好的解决方案是联系DataFrames列表。
看看这段代码的结果:
字符串
产出:
第一个月
型
iovurdzv4#
进口Pandas作PD
指定Excel文件路径
html_file_path = 'html的路径'
将Excel文件读入DataFrame
pdf = pd.read_html(html_file_path)
显示DataFrame
打印(df)