Was möchten Sie wahrscheinlich Ihre Daten in der yaml Dateiformat setzen. Es ist ein Textdatenformat, dessen Struktur auf höheren Skriptsprachen wie Python basiert. Sie können mehrere 2D-Arrays beliebiger Typen einfügen. Da es sich jedoch nur um Daten und nicht um Code handelt, ist es nicht so gefährlich wie das direkte Einfügen der Daten in ein Python-Skript. Es kann ziemlich leicht 2D arrays oder streng verschachtelte Listen machen (siehe Beispiel 2.5 bei diesem Link speziell), ebenso wie das Äquivalent von gewöhnlichen Listen, Dicts, verschachtelten Dicts, Strings und einer beliebigen Kombination davon. Da Sie einen Datentyp in einen anderen verschachteln können, können Sie beispielsweise ein Wörterbuch mit 2D-Arrays erstellen, mit dem Sie mehrere Arrays in einer einzigen Datei speichern können.
Hier ist dein Beispiel in yaml:
Array1:
- [1, 0, 0, 0]
- [2, 1, 0, 0]
- [3, 0.3333333333325028, 0, 0]
- [4, 0.6666666666657888, 0, 0]
Array2:
- [1, 1, 1, 1]
- [2, 3, 1, 1]
- [3, 2, 2, 2]
- [4, 3, 2, 2]
- [5, 1, 1, 3]
- [6, 1, 3, 4]
- [7, 1, 4, 2]
Und hier ist, wie es in numpy Arrays zu lesen (die Datei "temp.yaml" in meinem Beispiel genannt), mit dem PyYaml Paket:
>>> import yaml
>>>
>>> with open('temp.yaml') as ym:
.... res = yaml.load(ym)
>>> res
{'Array1': [[1, 0, 0, 0],
[2, 1, 0, 0],
[3, 0.3333333333325028, 0, 0],
[4, 0.6666666666657888, 0, 0]],
'Array2': [[1, 1, 1, 1],
[2, 3, 1, 1],
[3, 2, 2, 2],
[4, 3, 2, 2],
[5, 1, 1, 3],
[6, 1, 3, 4],
[7, 1, 4, 2]]}
>>> array1 = np.array(res['Array1'])
>>> array2 = np.array(res['Array2'])
>>> print(array1)
[[ 1. 0. 0. 0. ]
[ 2. 1. 0. 0. ]
[ 3. 0.33333333 0. 0. ]
[ 4. 0.66666667 0. 0. ]]
>>> print(array2)
[[1 1 1 1]
[2 3 1 1]
[3 2 2 2]
[4 3 2 2]
[5 1 1 3]
[6 1 3 4]
[7 1 4 2]]
Das 'csv'-Format ist praktisch, wenn alle Zeilen die gleiche Anzahl von Spalten haben und Sie ein Array (oder eine Tabelle) möchten. Aber bei mehreren Arrays ist das 'csv'-Format umständlich. – hpaulj