「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

6.3xpathを使った対象HTMLの設定 xpathとは木構造をもつHTML要素を指定する記法 h2の上でCopy XPathコマンドを実行すると //*[@id="mw-content-text"]/div/h2[2] が得られた。 他のCopyコマンドも実行してみた outerHTML <h2><span class="mw-headline" id="Argentina">Argentina</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span></span></h2>

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

6.2対象の設定 http://en.wikipedia.org/wiki/List_of_Nobel_laureates_by_country (国ごとに受賞者のリストがある)

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

6.1Scrapyの準備 Scrapyがinstallされていなかったので >conda install -c https://conda.anaconda.org/anaconda scrapy とした。scrapyだけが」installされるのだろうとおもっていたら 新規installが18、アップデートが4個入ってきた。 attrs: 15.2.0-py35_…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

5.7.1選択パターンの作成 from bs4 import BeautifulSoup import requests def get_column_titles(table): cols = [] for th in table.select_one('tr').select('th')[1:]: link = th.select_one('a') if link: cols.append({'name':link.text,'href':link.a…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

5.4ライブラリを使ったWEB APIへのアクセス Tweetのアクセストークン他取得できなかったので省略 5.6 スープの取得 def get_Nobel_soup(): response = requests.get(BASE_URL + '/wiki/List_of_Nobel_laureates',headers=HEADERS) return BeautifulSoup(resp…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

5.3.1 import requests OECD_ROOT_URL = 'http://stats.oecd.org/sdmx-json/data' def make_OECD_request(dsname,dimensions,params=None,roo_dir=OECD_ROOT_URL): if params is None: params = {} dim_args = ['+'.join(d) for d in dimensions] dim_str = …

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

5.2requestsを使ったデータファイルの取得 import requests response = requests.get("http://en.wikipedia.org/wiki/Nobel_Prize") for resule in response: print(resule) 結果 膨大なHTML Docが返されてくる 取得したページ import requests response = r…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

4.7.3円 <meta charset="utf-8"> <style> svg#chart{ background: lightgray; } </style> <svg id="chart" width="300" height="225"> <circle r="15" cx="100" cy="50"></circle> </svg> <body> <script src="http://d3js.org/d3.v3.min.js"></script> <script src="script.js"></body></meta>

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

4.6プレースホルダを含む基本的なページ <meta charset="utf-8"> <link rel="stylesheet" href="style1.css" type="text/css"/> <body> <div id="chart-holder" class="dev"> <div id="header"> <h2> A Catchy Title Coming Soon ... </h2> <p>Some body text describing what this visualization is al…</p></div></div></body></link></meta>

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

4.4.1 >python -m http.server 結果 4.4.3 HTMLスケルトン <meta charset="utf-8"> <div id='viz'>Hello</div> <link rel="stylesheet" href="style.css"/> <script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script> </link></meta>

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

3.8日付、時刻、複合データ d = datetime.now() print(d.isoformat()) """ iso 8601 fromat yyyy-MM-ddTHH:mm:ss 日本標準時(JST) 2014-10-10T13:50:40+09:00 協定世界時(UTC) 2014-10-10T04:50:40Z """ 結果 from dateutil import parser d = parser.parser…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

3.7MongoDB pymongoはinstallされていなかった。 pip install pymongoでver-3.5.1がinstallされた MongoDBをinstallした場所(C:\Program Files\MongoDB\Server\3.4\bin)に移動して >md c:\data\db を実行するとCドライブ直下にdata\dbフォルダを作成する …

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

3.6SQL sqlalchemyはcondaに入っていたのでinstallする必要はなかった。 3-6.py nobel_winners = [ {'category':'physics', 'name':'Albert Einstein', 'nationality':'Swiss', 'sex':'male', 'year':1921}, {'category':'physics', 'name':'Paul Dirac', 'n…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

3.5JSON 3-5.py json形式のファイルを作る import json nobel_winners = [ {'category':'physics', 'name':'Albert Einstein', 'nationality':'Swiss', 'sex':'male', 'year':1921}, {'category':'physics', 'name':'Paul Dirac', 'nationality':'British', …

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

3.4 CSV,TSV,行/列データ形式 import csv nobel_winners = [ {'category':'physics', 'name':'Albert Einstein', 'nationality':'Swiss', 'sex':'male', 'year':1921}, {'category':'physics', 'name':'Paul Dirac', 'nationality':'British', 'sex':'male',…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

3.3システムファイル nobel_winners = [ {'category':'physics', 'name':'Albert Einstein', 'nationality':'Swiss', 'sex':'male', 'year':1921}, {'category':'physics', 'name':'Paul Dirac', 'nationality':'British', 'sex':'male', 'year':1933}, {'ca…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

2.4.8 JavaScriptのクロージャとモジュールパターン 2-4-8.js function Counter(inc){ var count = 0; var add = function(){ count += inc; console.log('Current count:' + count); } return add; } var inc2 = Counter(2); inc2(); inc2(); inc2(); inc2(…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

2.4.5 Underscore 2-4-5.js var journeys = [ {period:"morning",times:[44,34,56,31]}, {period:"evening",times:[35,33]}, {period:"morning",times:[33,29,35,41]}, {period:"evening",times:[24,45,27]}, {period:"morning",times:[18,23,28]} ]; var gr…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読み始める

2.3.6簡単なデータ処理 例 2-4(page20) 2-3-6.js //A var studentData = [ {name:'Bob',id:0,'scores':[68,75,76,81]}, {name:'Alice',id:1,'scores':[75,90,64,88]}, {'name':'Carol',id:2,'scores':[59,74,71,68]}, {'name':'Dan',id:3,'scores':[64,58,53…

言語のしくみを読む

ライブラリとして使われているkhash.hを調べる。 C言語用のハッシュテーブルライブラリ。 ヘッダファイルkhash.hをインクルードするだけで利用できる。 マクロが多用してありその点、気をつけないとこける。 ハッシュテーブルに名前をつけ他のハッシュテーブ…

ようやくすごしやすくなった。

今日は反省会

Google Maps javascript API V3入門マスターを読む

GoogleのAPIkeyは以前取得したものがあったのでそれを使用 例題のsample.html,map.jsを入力して、sample.htmlをブラウザーで読み込ましたが エラーがでて地図が表示されない。 デペロッパーツールを表示させると ApiNotActivatedMapErrorがでて地図が表示さ…

言語のしくみを読む

例題の05filler.strmを実行してみる オプションの-vをつけて実行してみると構文木を表示してくれる。 ./streem -v ../examples/05filter.strm 05filter.strmの中身 seq(100) | filter{x-> x % 2 == 0} | stdout 構文木を表示させたもの NODES: OP: op: | OP:…

言語のしくみを読む

パーサで解析されたスクリプトは構造体のリンクで表現されたノードで返される。 state.lvalにつながれたリンク。 node(node_value) type:NODE_STMTS void** data node(node_op) type:NODE_OP op:strm_string len:1 ptr:“|” lhs: node(node_values) type:NODE…

言語のしくみを読む

./strem ../examples/02hello.strmで実行 main.cのmain関数内のnode_parse_file(&state,argv[i])で止める node.c内のnode_parse_file(parse_state p,const char fname) fnameにはコマンドライン引数"../examples/02hello.strm"が入っている fnameで指示され…

言語のしくみを読む

node_run関数 strm_seq_init(),strm_socket_init()が準備を完了させたら 次に呼ぶのがexec_expr関数で、渡されたnodeをswitch文で分岐させながら taskを作ってキューに登録する。登録されたtaskはqueue.cのstrm_queue_exec関数が 実行を行っている。 キュー…

言語のしくみを読む

main関数からstrm_var_def関数を呼び出す 引数の"ARGV"はstrm_stringに保管されてる、av変数にはコマンドラインの 引数が入っているので"ARGV"の名前で保管される。 次はnode_run関数を呼ぶ //exec.c node_init関数内でstrm_var_def関数を使ってシンボルをハ…

言語のしくみを読む

main関数から読んでいく $ ./streem ../examples/02hello.strm main関数 オプション処理部はパスして node_parse_init(&state) //node.c state構造体の初期化 e_progはNULLなのでelse節以降を実行、引数を持っているので最後のelse節を実行 for(i = 1;i < ar…

言語のしくみを読む

Cの開発環境を整備 ソースの分量が増えてきたのでエディタだけで読むのが困難になってきたので Cの統合環境を入れることにした。 最初はeclise C/C++ Linuxを入れたが使い方がわからず。 次にNetBeans IDE 8.2 C/C++ Linuxを入れたところ比較的わかりやすく …