2017-12-25 10 views
0

Ich baue einen Parser, der MIDI - Songs in eine Sequenz von Noten - Akkord - Tupeln konvertiert. Für jedes Lied gibt es eine Liste von Tupeln zurück, wobei das erste Element eine Note und das zweite Element eine Reihe von Noten ist. Die resultierenden Daten haben die Form [(note, {chords})], z.B. [(20, {21, 23}), (30, {22, 24, 26, 28})]. Beachten Sie, dass der Akkord beliebig lang sein kann.Python - wie man Zeitreihen in Datensätzen speichert

Ich möchte einen Datensatz aus vielen Songs erstellen und sie später in wiederkehrende neuronale Netzwerk weiterleiten. Also meine Frage ist: Was ist der einfachste Weg, um diese Daten in Datei zu halten?

Ich versuchte h5py Bibliothek. Leider funktioniert es nur mit Matrizen. Obwohl es möglich wäre, jedes Paar so zu speichern, wäre es wahrscheinlich sehr ineffizient, da die Länge des Akkords unbegrenzt ist.

+0

Verwenden Sie die Beize Bibliothek –

+0

@DemetriP Sieht gut aus, danke. – user1518183

Antwort

1

Pickle es.

#Write 
import pickle 
x = [(20, {21, 23}), (30, {22, 24, 26, 28})] 

with open('pickle.txt','wb') as f: 
    pickle.dump(x,f) 

#Read 
with open('pickle.txt','rb') as f: 
    y = pickle.load(f) 
Verwandte Themen