我使用BeautifulSoup提取html表并将元素存储在列表中。接下来,我想将列表写入.csv文件,但它看起来writerow函数不会将元素写入不同的行。
import csv
from bs4 import BeautifulSoup
# Grab first table (station table in html file)
def parse_station(html):
soup = BeautifulSoup(html)
s_table = soup.find_all('table')[1]
stations = []
for tr in s_table.find_all('tr')[1:]:
td = tr.find_all('td')[1]
td = td.get_text()
stations.append(td)
return stations
stations = parse_station(open('data.html').read())
with open('stations.csv', "wb") as f:
csv_writer = csv.writer(f)
csv_writer.writerow([stations])
f.close()
.csv类似于:
^{pr2}$而不是:
^{pr3}$我的代码怎么了?我怎么能修好?(我使用的是Python 2.7)
您可以使用^{} 从html获取表,并使用^{} 和{}将其保存到csv文件中:
您可以使用这个示例代码
这会给你这样的结果
^{pr2}$你可以传递你的价值
注意:检查站点类型,如果这将返回str而不是您的值将在单行中,但如果这是列表,则循环列表示例代码,以将列表写入CSV。在
相关问题 更多 >
编程相关推荐