2

At: How to write numpy arrays to .txt file, starting at a certain line?

People helped me to solve my problem - this works for numpy Version 1.7 or later. Unfortunatelly I have to use the version 1.6 - the follwoing code (thank you @Praveen)

extra_text = 'Answer to life, the universe and everything = 42'
header = '# Filexy\n# time operation1 operation2\n' + extra_text
np.savetxt('example.txt', np.c_[time, operation1, operation2],     
               header=header, fmt='%d', delimiter='\t', comments=''

give me an error with numpy 1.6

numpy.savetxt() got an unexpected keyword argument 'header' · Issue ...

Is there a work-around for Version 1.6 that produces the same result:

# Filexy
# time operation1 operation2
Answer to life, the universe and everything = 42
0   12  100
60  23  123
120 68  203
180 26  301
Community
  • 1
  • 1
Matias
  • 581
  • 1
  • 5
  • 16

1 Answers1

2

You write your header first, then you dump the data. Note that you'll need to add the # in each line of the header as np.savetxt won't do it.

time = np.array([0,60,120,180])
operation1 = np.array([12,23,68,26])
operation2 = np.array([100,123,203,301])
header='#Filexy\n#time  operation1 operation2'
with open('example.txt', 'w') as f:
    f.write(header)
    np.savetxt(f, np.c_[time, operation1, operation2],
                   fmt='%d',
                   delimiter='\t')
Hugues Fontenelle
  • 5,275
  • 2
  • 29
  • 44