【发布时间】:2018-03-14 06:09:01
【问题描述】:
我想出了如何使用 pandas read_html() 函数来解析 HTML 文件中的表格。但我无法将表格输出到单个 csv 文件。
这是我的表格在 html 中的样子,称为“example.html”:
<html>
<body>
<table><tr></tr></table>
<table><tr></tr></table>
sjfasfasjfle
sdfølasjdf
fsdfjkj
fj
klsdjfølas
sdfpøjfjøklsdfasmf
Test1
<table border=1>
<tr>
<td>Trondheim</td><td>3</td><td>6</td><td>8.8</td><td>Test</td>
</tr>
<tr>
<td>4</td><td>7</td><td>8</td><td>88</td><td>Test</td>
</tr>
</table>
sdfjasøf<br>
aklsf<br>
klasdjfasljklj<br>
<p>
asdøfjs<br>
klasøflas<br>
øfsdjf<br><br>
kljøflsdjf<br>
kldfjølasjf<br>
<table><tr></tr></table>
Test2
<table border=1>
<tr>
<td>Norway</td><td>3</td><td>76</td><td>778.8</td><td>Test</td>
</tr>
<tr>
<td>74</td><td>77</td><td>78</td><td>88</td><td>Test</td>
</tr>
<tr>
<td>74</td><td>77</td><td>78</td><td>88</td><td>Test</td><td>74</td><td>77</td><td>78</td><td>88</td><td>Test</td>
</tr>
</table>
Test3
<table border=1><tr>Also</tr></table>
<table border=1><tr></tr></table>
<table border=1><tr></tr></table>
</body>
<html>
这是我解析这些表的代码:
import os
import pandas as pd
htmlname = r"example.html"
html = open(htmlname, 'r')
source_code = html.read()
tables = pd.read_html(source_code)
for i, table in enumerate(tables):
tables.to_csv('test.csv','a')
我收到错误 AttributeError: 'list' object has no attribute 'to_csv'。
我不知道如何解决这个问题,我很确定这很容易,但我所有的研究都只将我带到了 html 文件中包含 1 个表的示例,但没有解析多个表并将多个表写入 csv 文件.任何帮助表示赞赏。提前谢谢你。
【问题讨论】: