希望从中获取json和csv文件

时间:2017-10-17 04:22:40

标签: python json csv

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的帮助,但是我无法按照我希望它使用熊猫的方式进行格式化,尽管我已经被告知它更容易了..

1 个答案:

答案 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,您也可以使用类似的逻辑。

查看文档:

https://docs.python.org/2/library/csv.html

https://docs.python.org/2/library/json.html