2017-02-12 11 views
0

これはStackOverflowの最初の質問です。本当に助けてくれてありがとう!私はこのページのNUFORCからPython 2.7とRを使用してテーブルデータをスクラップしてcsvファイルに変換しようとしています:http://www.nuforc.org/webreports/ndxl.html。私は数十のチュートリアルを見てきましたが、このインスタンスのために働いた人はいませんでした。私はbeautifulsoupのドキュメントでチェックしたが、私は道を拾うためにsthを見つけなかった。読み取りクリップボードコマンドでさえも動作していないようです(?)Python - 美しいスープ - テーブルデータの取得

最も有望なアプローチは以下のとおりです。これは、私がこのページのインストラクターのメモを複製できなかったので、私が行くことができる限りです。

import urllib2 
from urllib2 import urlopen 
from bs4 import BeautifulSoup 
url= "http://www.nuforc.org/webreports/ndxl.html" 

def make_soup(url): 
    thepage = urllib2.urlopen(url) 
    soupdata = BeautifulSoup(thepage, "html.parser") 
    return soupdata 

soup = make_soup ("http://www.nuforc.org/webreports/ndxl.html") 

for record in soup.findAll('tr'): 
    for data in record.findAll('td'): 
     print (data.text) 

少なくともデータは印刷できますが、データをより有用な.csvファイルに展開する方法はわかりません。

はあなたの助けのために事前にありがとうございます:)

答えて

0

をあなたがループのためのあなたのネストされたでcsvファイルに直接データを書き込むことができcsv.writerを使用します。行の各行値については、配列に格納し、次にwrite_rowを使用して配列を行に書き込みます。配列を空になるように各行ごとに初期化してください。そうしないと、前の配列に何度も何度も繰り返して追加されることがあります。

+0

偉大な、私はそのコマンドを確認し、更新されますありがとう!私は.csvの前に、WebテーブルのデータをPythonのデータフレームに保存したいと考えていました。どのように進むべきかについての提案はありますか?ありがとう! – Dim

+0

[Panda dataframes](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html)を使用することもできます。単純にするには、配列の配列を使用できます。 'ROW_LIST =リスト()\ nはテーブル\ nの行の 列=リスト()\ N行\ n個の\さt columns.append(アイテム)\ N row_list.append(列)内のアイテムの ' –

関連する問題