我正在尝试编写Python代码来导入和导出复数列表。目前,我正在使用csv模块尝试实现此目标。我已经使用以下代码将数据导出到文件中:
spamWriter = csv.writer(open('data.csv', 'wb')
spamWriter.writerow(complex_data)
在这里,复数(re,im)函数生成的一组数字是复杂数据。例如:
print complex_data
[(37470-880j),(35093-791j),(33920-981j),(28579-789j),(48002-574j),(46607-2317j),(42353-1557j),(45166-2520j),(45594-232j),(41149+561j)]
为了在以后导入此文件,我尝试以下操作:
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)']]
(请注意,这是一个列表的列表,我只是为了示例而使用了一行。)
我现在需要将此转换为复数而不是字符串。我认为应该有一种通过映射来实现这一点的方法,就像这个问题中所述,但我无法弄清楚如何使其工作。如果有任何帮助,将不胜感激!
或者,如果有任何更容易导入/导出复数值数据的方法,而我不知道,请告诉我,我很乐意尝试其他方法。