我有一个 20gb 的数据库文件 (*.db),其中包含从 Scopus 获得的大量有关科学文章的信息。大多数信息都存储在数据库文件的响应表中。我只想从每篇发表的文章中获取主题领域。我不知道如何从数据库文件中获取它。
在数据库文件的每一行中,都存储了关于作者、文章以及主题区域的大量信息。一个片段如下所示:
{"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 标识符和主题区域信息。