![](/img/trans.png)
[英]Pandas Dataframe: Slice a part of read_html table into a dataframe
[英]Pandas read html table to dataframe cannot print
我通过像这样使用 beautifulsoup 来获得 html 表。
alltable = bt.find_all('table')
print(alltable)
它显示这样的输出。
[<table>
<thead>
<tr><th>ID</th><th>Name</th><th>User</th></tr>
</thead>
<tbody>
<tr valign="TOP">
<td><a href="/printers/PDF">PDF</a>-1 </td>
<td>Test </td>
<td>User1 </td>
</tr>
<tr valign="TOP">
<td><a href="/printers/PDF">PDF</a>-2 </td>
<td>Test </td>
<td>User1 </td>
</tr>
<tr valign="TOP">
<td><a href="/printers/PDF">PDF</a>-3 </td>
<td>Document1 </td>
<td>User1 </td>
</tr>
</tbody>
</table>]
我将 html 表读取到数据框并像这样打印。
df = pd.read_html(str(alltable))
print(df['Name'])
它显示这样的错误。
TypeError: list indices must be integers or slices, not str
如何解决?
Panda 的 read_html返回一个 DataFrame 对象列表 - 而不是单个 DataFrame 对象。 在您的情况下,您需要索引到列表的唯一元素:
>>> df[0]['Name']
0 Test
1 Test
2 Document1
Name: Name, dtype: object
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.