Matrix in Datei schreiben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
redbomberle
User
Beiträge: 19
Registriert: Dienstag 21. Oktober 2008, 18:28

Hi zusammen.

ich habe mir eine Matrix erstellt, indem ich aus mehreren Dateien (double-, bzw. float-) Werte eingelesen habe:

Code: Alles auswählen

#dataOne ist 1dim Array
#data ist Matrix
data.append(dataOne) 
Am ende habe ich dann z.B. eine 3dim Matrix.
Schön :)
nur wie kann ich mir die jetzt in eine Datei schreiben?

Code: Alles auswählen

def writeoutFile(data):
    print("test")
    fobj = open("C:/DATA/TestDaten/HA25022009_0065/ausgabe.txt", "w")
    for i in range(len(data)): 
        for j in range(len(data[i])):
            fobj.write (data[i][j]) 
        fobj.write("\n")
    fobj.close()
Das klappt bei mir nicht und ich kann leider in wirklich keinem Tutorial finden, wie ich eine Matrix in eine Datei schreibe. Da finden sich immer nur dieselben einfachen Beispiele für das Schreiben eines Arrays.
Benutzeravatar
HerrHagen
User
Beiträge: 430
Registriert: Freitag 6. Juni 2008, 19:07

Wenn du einfach (beinah beliebige) Python-Objekt abspeichern willst, ohne das andere (nicht Python-Programme) darauf zugreifen müssen, bietet sich picklean.

Code: Alles auswählen

import cPickle as pickle

data = [[1,2,3], [4,5,6]]

f = open("test.pkl", "wb")
pickle.dump(data, f)
f.close()
Wenn du mit Matrizen rechnen willst interesiert dich vielleicht noch numpy

MFG HerrHagen
redbomberle
User
Beiträge: 19
Registriert: Dienstag 21. Oktober 2008, 18:28

und wie ist es wenn ich die Datenwerte in ein File schreiben möchte
z.b.: als *.csv Datei, damit ich diese z.B. in Java einlesen kann?
BlackJack

@redbomberle: Dann solltest Du mal einen Blick in das `csv`-Modul werfen.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Oder

Code: Alles auswählen

from numpy import *
data = arange(9).reshape((3,3))
savetxt('data1.csv', data)
savetxt('data2.csv', data, delimiter=',', fmt='%d')
# etc. etc.
HTH
Christian
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Oh Gott, ich seh Sterne :twisted:
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Ja, ja - war halt schnell dahingeschrieben. Asche auf mein Haupt ...
Antworten