python - 在 Python 中将 html 转换为 excel

标签 python html excel csv

我正在尝试将以下站点中的表格转换为 xls 表格:

http://www.dekel.co.il/madad-lazarchan

下面是我研究出来的代码:

from bs4 import BeautifulSoup
import pandas as pd
from urllib2 import urlopen
import requests
import csv

url='http://www.dekel.co.il/madad-lazarchan'
table = pd.read_html(requests.get(url).text, attrs={"class" : "medadimborder"})

print table</code>

如何让它正确显示标题并输出到 csv 或 xls 文件?

如果我添加以下内容:

table.to_csv('test.csv')

我得到这个错误而不是打印行:

'list' object has no attribute 'to_csv'

提前致谢!

好吧,根据评论,也许我不应该使用 panda 或 read_html,因为我想要一个表格而不是一个列表。我写了下面的代码,但现在打印输出有分隔符,看起来我丢失了标题行。还不确定如何将其导出到 csv 文件。

<code>from bs4 import BeautifulSoup import urllib2 import csv soup = BeautifulSoup(urllib2.urlopen('http://www.dekel.co.il/madad-lazarchan').read(), 'html') data = [] table = soup.find("table", attrs={"class" : "medadimborder"}) table_body = table.find('tbody') rows = table_body.findAll('tr') for row in rows: cols = row.findAll('td') cols = [ele.text.strip() for ele in cols] print cols</code>

[u'01/16', u'130.7915', u'122.4640', u'117.9807', u'112.2557', u'105.8017', u'100.5720', u'98.6'] [u'12/15', u'131.4547', u'123.0850', u'118.5790', u'112.8249', u'106.3383', u'101.0820', u'99.1'] [u'11/15', u'131.5874', u'123.2092', u'118.6986', u'112.9387', u'106.4456', u'101.1840', u'99.2']

最佳答案

您可以使用可用于处理 Excel 文件的 python 包。这是一个list .

关于python - 在 Python 中将 html 转换为 excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35831241/

相关文章:

python - 检测文件是否在python中的网络驱动器上

python - 列表理解中的调用函数

javascript - 如何使用 json 数据中的纬度和经度查找最近的位置

css - 如何将此 div 对齐到父 div 的右下角/左下角?

c# - NPOI - 如何区分日期时间格式的数字 Excel 单元格 (c#)

python - 类方法 __instancecheck__ 不起作用

Python recordlinkage 工具包 - 映射未知

php - 如何删除所有 HTML 标签排除一些标签

Excel复制公式问题

vba - 如何在VBA中打开并激活另一个工作簿?