I need to write and read complex numbers. I would like to use numpy.savetxt and numpy.loadtxt to do so. Since the code that I have written is rather big I created a test file to try to write and read complex numbers.
So far I have been able to write complex numbers using numpy.savetxt. The code is the following:
import numpy d1 = -0.240921619563 - 0.0303165074169j d2 = -0.340921619563 - 0.0403165074169j d3 = -0.440921619563 - 0.0503165074169j d4 = -0.540921619563 - 0.0603165074169j array = numpy.array([d1, d2, d3, d4]) save = open("test.dat", "w") numpy.savetxt(save, array.reshape(1, array.shape[0]), newline = "\r\n", fmt = "%.10f") save.close() This gives the following output:
(-0.2409216196+-0.0303165074j) (-0.3409216196+-0.0403165074j) (-0.4409216196+-0.0503165074j) (-0.5409216196+-0.0603165074j) All that I now want to be able to do is actually read/load the data. The script I have is:
import numpy d = numpy.loadtxt("test.dat") This piece of code is not sufficient and I am currently unable to load the data. My problem is similar to this one. However, by manually replacing the +- by a - I am still unable to load the data. I think the solution lies in the dtype option for numpy.loadtxt. I have not been able to figure it out though.
Your help is greatly appreciated!
loadtxtandsavetxtrather than justloadandsaveortofileandfromfile?savetxtshould provide a correctly formatted complex numbers...