Dump a NumPy array into a csv file Dump a NumPy array into a csv file python python

Dump a NumPy array into a csv file

numpy.savetxt saves an array to a text file.

import numpya = numpy.asarray([ [1,2,3], [4,5,6], [7,8,9] ])numpy.savetxt("foo.csv", a, delimiter=",")

You can use pandas. It does take some extra memory so it's not always possible, but it's very fast and easy to use.

import pandas as pd pd.DataFrame(np_array).to_csv("path/to/file.csv")

if you don't want a header or index, use to_csv("/path/to/file.csv", header=None, index=None)

tofile is a convenient function to do this:

import numpy as npa = np.asarray([ [1,2,3], [4,5,6], [7,8,9] ])a.tofile('foo.csv',sep=',',format='%10.5f')

The man page has some useful notes:

This is a convenience function for quick storage of array data. Information on endianness and precision is lost, so this method is not a good choice for files intended to archive data or transport data between machines with different endianness. Some of these problems can be overcome by outputting the data as text files, at the expense of speed and file size.

Note. This function does not produce multi-line csv files, it saves everything to one line.