import urllib.request
import bs4 as bs
sauce = urllib.request.urlopen("http://www.nhl.com/scores/htmlreports/20172018/TH020070.HTM").read()
soup = bs.BeautifulSoup(sauce, "html.parser")
table = soup.table
table = soup.find('table')
table_rows = table.find_all('tr')
for tr in table_rows:
td = tr.find_all('td')
row = [i.text for i in td]
print(row)
我正在尝试将此输出到csv和json。我怎么做(不是在同一时间)。最终,当我得到正确的格式化后,我想把它直接转储到postgres。新的python所以任何帮助和建议将不胜感激。我之前得到了使用pandas输出到csv的帮助,但是我无法按照我希望它使用熊猫的方式进行格式化,尽管我已经被告知它更容易了..
答案 0 :(得分:0)
假设您希望在每次迭代中将row
变量输出为JSON / CSV。
对于JSON,您只需将所有row
的列表转储到JSON即可。类似的东西:
import json
#Your logic here
rows=[]
for tr in table_rows:
td = tr.find_all('td')
row = [i.text for i in td]
rows.append(row)
with open("out", "w") as fp:
json.dump(rows, fp)
对于CSV,您也可以使用类似的逻辑。
查看文档: