Como transformar uma lista de strings em números complexos em python?

Estou tentando escrever código que importa e exporta listas de números complexos em Python. Até agora eu estou tentando isso usando o módulo csv. Eu exportei os dados para um arquivo usando:

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

Onde dados complexos são números de lista gerados pela função complexa (re, im). Ex:

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

Para importar isso mais tarde, eu tentei o seguinte:

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)']]

(Observe que esta é uma lista de listas, por acaso usei apenas uma linha para o exemplo).

Agora preciso transformar isso em números complexos, em vez de strings. Eu acho que deve haver uma maneira de fazer isso com o mapeamento como emessa questão, mas não consegui descobrir como fazer isso funcionar. Qualquer ajuda seria apreciada!

Como alternativa, se houver uma maneira mais fácil de importar / exportar dados de valor complexo que eu não conheço, terei prazer em tentar outra coisa completamente.

questionAnswers(5)

yourAnswerToTheQuestion