Wie verwandle ich eine Liste von Strings in komplexe Zahlen in Python?

Ich versuche, Code zu schreiben, der Listen komplexer Zahlen in Python importiert und exportiert. Bisher versuche ich dies mit dem CSV-Modul. Ich habe die Daten in eine Datei exportiert mit:

spamWriter = csv.writer(open('data.csv', 'wb')
spamWriter.writerow(complex_data)

Bei komplexen Daten handelt es sich um Listennummern, die von der Funktion complex (re, im) generiert wurden. Ex:

print complex_data
[(37470-880j),(35093-791j),(33920-981j),(28579-789j),(48002-574j),(46607-2317j),(42353-1557j),(45166-2520j),(45594-232j),(41149+561j)]

Um dies zu einem späteren Zeitpunkt zu importieren, versuche ich Folgendes:

mycsv = csv.reader(open('data.csv', 'rb'))
out = list(mycsv)
print out
[['(37470-880j)','(35093-791j)','(33920-981j)','(28579-789j)','(48002-574j)','(46607-2317j)','(42353-1557j)','(45166-2520j)','(45594-232j)','(41149+561j)']]

(Beachten Sie, dass dies eine Liste von Listen ist. Ich habe nur eine Zeile für das Beispiel verwendet.)

Ich muss das jetzt in komplexe Zahlen anstatt in Strings umwandeln. Ich denke, es sollte einen Weg geben, dies mit Mapping wie in zu tundiese Frage, aber ich konnte nicht herausfinden, wie es funktioniert. Jede Hilfe wäre dankbar!

Wenn es eine einfachere Möglichkeit zum Importieren / Exportieren komplexer Daten gibt, die mir nicht bekannt sind, würde ich gerne etwas anderes ausprobieren.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage