[PYTHON] 100 Amateur-Sprachverarbeitungsklopfen: 62

Es ist ein Herausforderungsrekord von 100 Sprachverarbeitungsklopfen 2015. Die Umgebung ist Ubuntu 16.04 LTS + Python 3.5.2 : : Anaconda 4.1.1 (64-Bit). Klicken Sie hier, um eine Liste der vergangenen Schläge anzuzeigen (http://qiita.com/segavvy/items/fb50ba8097d59475f760).

Kapitel 7: Datenbank

artist.json.gz ist eine Datei in der geöffneten Musikdatenbank MusicBrainz, die in das JSON-Format konvertiert und im gzip-Format komprimiert wird. In dieser Datei werden Informationen zu einem Künstler in einer Zeile im JSON-Format gespeichert. Der Umriss des JSON-Formats lautet wie folgt.

Feld Schimmel Inhalt Beispiel
id Eindeutige Kennung ganze Zahl 20660
gid Globale Kennung String "ecf9f3a3-35e9-4c58-acaa-e707fba45060"
name Künstlername String "Oasis"
sort_name Künstlername (zur Auftragsdiagnose) String "Oasis"
area Ort der Tätigkeit String "United Kingdom"
aliases alias Liste der Wörterbuchobjekte
aliases[].name alias String "Oase"
aliases[].sort_name Alias (zur Ausrichtung) String "Oase"
begin Beginn der Aktivität Wörterbuch
begin.year Beginn der Aktivität ganze Zahl 1991
begin.month Aktivitätsstartmonat ganze Zahl
begin.date Beginn der Aktivität ganze Zahl
end Enddatum der Aktivität Wörterbuch
end.year Ende des Aktivitätsjahres ganze Zahl 2009
end.month Aktivitätsende Monat ganze Zahl 8
end.date Enddatum der Aktivität ganze Zahl 28
tags Etikett Liste der Wörterbuchobjekte
tags[].count Anzahl der Markierungen ganze Zahl 1
tags[].value Tag-Inhalt String "rock"
rating Bewertung Wörterbuchobjekt
rating.count Anzahl der Stimmen für die Bewertung ganze Zahl 13
rating.value Bewertungswert (Durchschnittswert) ganze Zahl 86

Erwägen Sie das Speichern und Abrufen von artist.json.gz-Daten in Key-Value-Store (KVS) und dokumentenorientierten Datenbanken. Verwenden Sie LevelDB, Redis, Kyoto Cabinet usw. als KVS. MongoDB wurde als dokumentenorientierte Datenbank übernommen, es können jedoch auch CouchDB, RethinkDB usw. verwendet werden.

62. Iterative Verarbeitung in KVS

Ermitteln Sie die Anzahl der Künstler mit dem Aktivitätsort "Japan" anhand der in> 60 erstellten Datenbank.

Der fertige Code:

main.py


# coding: utf-8
import leveldb

fname_db = 'test_db'

#LevelDB geöffnet
db = leveldb.LevelDB(fname_db)

#Wert ist'Japan'Aufzählen
clue = 'Japan'.encode()
result = [value[0].decode() for value in db.RangeIter() if value[1] == clue]

#Nummernanzeige
print('{}Fall'.format(len(result)))

Ausführungsergebnis:

Ausführungsergebnis


22821

LevelDB-Aufzählung

Der Registrierungsinhalt wurde durch Erwerb des Iterators mit "LevelDB.RangeIter ()" aufgelistet.

Das ist alles für den 63. Schlag. Wenn Sie Fehler haben, würde ich mich freuen, wenn Sie darauf hinweisen könnten.


Recommended Posts

100 Amateur-Sprachverarbeitungsklopfen: 41
100 Amateur-Sprachverarbeitungsklopfen: 71
100 Amateur-Sprachverarbeitungsklopfen: 56
100 Amateur-Sprachverarbeitungsklopfen: 24
100 Amateur-Sprachverarbeitungsklopfen: 59
100 Amateur-Sprachverarbeitungsklopfen: 70
100 Amateur-Sprachverarbeitungsklopfen: 62
100 Amateur-Sprachverarbeitungsklopfen: 60
100 Amateur-Sprachverarbeitungsklopfen: 92
100 Amateur-Sprachverarbeitungsklopfen: 30
100 Amateur-Sprachverarbeitungsklopfen: 06
100 Amateur-Sprachverarbeitungsklopfen: 84
100 Amateur-Sprachverarbeitungsklopfen: 81
100 Amateur-Sprachverarbeitungsklopfen: 33
100 Amateur-Sprachverarbeitungsklopfen: 46
100 Amateur-Sprachverarbeitungsklopfen: 88
100 Amateur-Sprachverarbeitungsklopfen: 89
100 Amateur-Sprachverarbeitungsklopfen: 40
100 Amateur-Sprachverarbeitungsklopfen: 45
100 Amateur-Sprachverarbeitungsklopfen: 43
100 Amateur-Sprachverarbeitungsklopfen: 55
100 Amateur-Sprachverarbeitungsklopfen: 22
100 Amateur-Sprachverarbeitungsklopfen: 61
100 Amateur-Sprachverarbeitungsklopfen: 94
100 Amateur-Sprachverarbeitungsklopfen: 54
100 Amateur-Sprachverarbeitungsklopfen: 04
100 Amateur-Sprachverarbeitungsklopfen: 63
100 Amateur-Sprachverarbeitungsklopfen: 78
100 Amateur-Sprachverarbeitungsklopfen: 12
100 Amateur-Sprachverarbeitungsklopfen: 14
100 Amateur-Sprachverarbeitungsklopfen: 08
100 Amateur-Sprachverarbeitungsklopfen: 42
100 Amateur-Sprachverarbeitungsklopfen: 19
100 Amateur-Sprachverarbeitungsklopfen: 73
100 Amateur-Sprachverarbeitungsklopfen: 75
100 Amateur-Sprachverarbeitungsklopfen: 98
100 Amateur-Sprachverarbeitungsklopfen: 83
100 Amateur-Sprachverarbeitungsklopfen: 95
100 Amateur-Sprachverarbeitungsklopfen: 32
100 Amateur-Sprachverarbeitungsklopfen: 96
100 Amateur-Sprachverarbeitungsklopfen: 87
100 Amateur-Sprachverarbeitungsklopfen: 72
100 Amateur-Sprachverarbeitungsklopfen: 79
100 Amateur-Sprachverarbeitungsklopfen: 23
100 Amateur-Sprachverarbeitungsklopfen: 05
100 Amateur-Sprachverarbeitungsklopfen: 00
100 Amateur-Sprachverarbeitungsklopfen: 02
100 Amateur-Sprachverarbeitungsklopfen: 37
100 Amateur-Sprachverarbeitungsklopfen: 21
100 Amateur-Sprachverarbeitungsklopfen: 68
100 Amateur-Sprachverarbeitungsklopfen: 11
100 Amateur-Sprachverarbeitungsklopfen: 90
100 Amateur-Sprachverarbeitungsklopfen: 74
100 Amateur-Sprachverarbeitungsklopfen: 66
100 Amateur-Sprachverarbeitungsklopfen: 28
100 Amateur-Sprachverarbeitungsklopfen: 64
100 Amateur-Sprachverarbeitungsklopfen: 34
100 Amateur-Sprachverarbeitungsklopfen: 36
100 Amateur-Sprachverarbeitungsklopfen: 77
100 Amateur-Sprachverarbeitungsklopfen: 01
100 Amateur-Sprachverarbeitungsklopfen: 16