Scopusから入手した科学論文に関する多くの情報を含む20GBのデータベースファイル(* .db)があります。ほとんどの情報は、データベースファイル内の応答テーブルに格納されます。私は各出版された記事から主題分野を取得したい。私はデータベースファイルからこれを取得する方法がわかりません。PythonでSQLテーブルから情報を取得
データベースファイルの各行には、著者、記事、およびサブジェクトエリアに多くの情報が格納されています。スニペットは次のようになります。この大規模な(しかし、実際にも、はるかに大きい)テーブルから
{"abstracts-retrieval-response":{"coredata":{"prism:url":"http://api.elsevier.com/content/abstract/scopus_id/85012897283","dc:identifier":"SCOPUS_ID:85012897283","eid":"2-s2.0-85012897283","language":{"@xml:lang": "eng"},"authkeywords":{"author-keyword": [{"@_fa": "true", "$" :"austerity policies"},{"@_fa": "true", "$" :"housing policy"},{"@_fa": "true", "$" :"Italy"},{"@_fa": "true", "$" :"Mediterranean welfare regime"},{"@_fa": "true", "$" :"Neoliberalism"},{"@_fa": "true", "$" :"Spain"}]},"idxterms":null,"subject-areas":{"subject-area": [{"@_fa": "true", "@abbrev": "SOCI", "@code": "3303", "$" :"Development"},{"@_fa": "true", "@abbrev": "SOCI", "@code": "3322", "$" :"Urban Studies"},{"@_fa": "true", "@abbrev": "ENVI", "@code": "2308", "$" :"Management, Monitoring, Policy and Law"}]}}
、私はdc-identifier
と(複数の)サブジェクト・エリアを得ることにだけ興味を持っています。理想的には、私はそれらを* .csvファイルに入れます。
Pythonを使用して* .dbファイルからこの情報を取得する簡単な方法はありますか? sqlite3のを使用して、私は次のコードを使用してデータベースへのアクセスもを得ることができるように見える:
import sqlite3
conn = sqlite3.connect('C:/responses.db')
c = conn.cursor()
私にとって、私が今だけのデータベースからのDC-IDとサブジェクト・エリア情報を取得する方法は明らかではありませんファイル。
データはJSONと思われるので、データベースからデータを読み込んだら(例: 'c.execute(" select * from responses; "))、結果を繰り返し、Pythonの' json'ライブラリを使ってそれぞれを読み込みますあなたが望む情報を抽出することができるPythonのデータ構造に行を並べ替えることができます。それで、解析や書き出しに必要な他のフォーマットに格納することができます。 –
ありがとう!私はまだPython(とjson)だから、私はファイル全体をどのように反復することができないのでしょうか?jsonを使用して各行をデータ構造にロードするにはどうすればよいですか? –
以下を参照してください –