tags:

views:

39

answers:

1

I know how to use numpy.savetxt to write an array to a file. How can I write multiple arrays to the same file?

Essentially I want to do math to a column of numbers, and then replace the old column with the modified numbers. I read the easiest way to do this is to write a new file completely, put the modified numbers in, and just 'copy and paste' the other numbers in the file.

Any help is appreciated.

Thanks!

A: 

If you're wanting to write multiple arrays to a file for later use, Look into numpy.savez.

However, from your description, it sounds like you're wanting to do something with a particular column of a delimited text file.

In that case, just load the entire thing in and operate on just the column you need to.

E.g.

import numpy as np

data = np.loadtxt('test.txt')

# Multiply the 4th column by 5
data[:,3] *= 5

# Do something more complicated to the 2nd column
data[:,1] = np.cos(data[:,1])

# Save the array back to the file
np.savetxt('test.txt', data)
Joe Kington