Ich habe eine 20-GB-Datenbankdatei (* .db), die viele Informationen zu wissenschaftlichen Artikeln enthält, die von Scopus übernommen wurden. Die meisten Informationen werden in der Antworttabelle in der Datenbankdatei gespeichert. Ich möchte nur die Themenbereiche von jedem veröffentlichten Artikel erhalten. Ich habe keine Ahnung, wie man das aus der Datenbankdatei holt.Abrufen von Informationen aus der SQL-Tabelle mit Python
In jeder Zeile in der Datenbankdatei sind viele Informationen zum Autor, zum Artikel und auch zum Themenbereich gespeichert. Ein Ausschnitt sieht wie folgt aus:
{"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"}]}}
Von diesem großen (aber in Wirklichkeit noch viel größer) Tisch, ich bin nur daran interessiert, die dc-identifier
bekommen und die (mehrfach) Fachbereiche. Im Idealfall würde ich sie in einer * .csv-Datei bekommen.
Gibt es eine einfache Möglichkeit, diese Informationen aus der * .db-Datei mit Python zu erhalten? Mit sqlite3 Ich scheine in der Lage sein Zugang zur Datenbank zu erhalten mit dem folgenden Code:
import sqlite3
conn = sqlite3.connect('C:/responses.db')
c = conn.cursor()
Für mich ist es nicht klar ist, wie kann ich jetzt nur die Informationen, dc-Kennung und Fachbereiche erhalten aus der Datenbank Datei.
Die Daten scheinen JSON zu sein, also nach dem Lesen der Daten aus der Datenbank (zB 'c.execute (" select * from responses; ") durch die Ergebnisse gehen und die' json'-Bibliothek von Python zum Laden verwenden reihe in eine Python-Datenstruktur, aus der du die gewünschten Informationen extrahierst, die du dann in einem anderen Format für Analyse oder Export speichern kannst .. –
Vielen Dank Ich bin noch ein Anfänger mit Python (und Json) Jetzt bin ich fest, wie ich durch die ganze Datei iterieren könnte. Wie lade ich jede Zeile in eine Datenstruktur mit JSON? Alle Vorschläge oder Ideen wären sehr hilfreich. –
Siehe Antwort unten hinzugefügt. –