2017-10-17 10 views
0
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に出力しようとしています。どのように私は両方を行うだろう(同時にではない)。最終的に私はそれが適切にフォーマットされたとき私はポストグレースにまっすぐにそれをダンプしたいと思います。新しいPythonので、任意の助けや提案をいただければ幸いです。に各反復でこれからjsonとcsvファイルを探しています

+0

JSON:

は、ドキュメントをチェックアウト? –

答えて

0

はあなたがrow変数出力したいと仮定すると、..私はパンダを使用してCSVに出力して、以前に役立ちましたが、私はそれは、IVEはそのはるかに簡単に言われたが、私はパンダを使用して、それをご希望の方法をフォーマットするために得るカント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

+0

NameErrorが返ってきます: 'fp'が定義されていません –

+0

'fp'は書き込みたいファイルのファイルオブジェクトです。 – MoonStruckHorrors

関連する問題