From: Fernando P. <Fer...@co...> - 2005-06-02 22:57:31
|
William Henney wrote: > Yes, I wasn't thinking of specialized data formats. Python already has > fine support for reading, e.g., FITS files. I was thinking more along > the lines of gnuplot's support for simple ascii data tables. E.g., easy > selection of columns to plot, single blank line indicating a gap in the > plot, double blank line indicating a new dataset, etc. This is all > trivial stuff that I can easily write myself but it would be nice if it > were a part of the plotting package (PyX does this well). It's not > really a sticking point though. scipy's read_array, while not identical to gnuplot's, isn't bad at all: In [8]: scipy.io.read_array? Type: function Base Class: <type 'function'> String Form: <function read_array at 0x4083c614> Namespace: Interactive File: /usr/lib/python2.3/site-packages/scipy/io/array_import.py Definition: scipy.io.read_array(fileobject, separator=None, columns=None, comment='#', lines=None, atype='d', linesep='\n', rowsize=10000, missing=0) Docstring: Return an array or arrays from ascii_formatted data in |fileobject|. Inputs: fileobject -- An open file object or a string for a valid filename. The string can be prepended by "~/" or "~<name>/" to read a file from the home directory. separator -- a string or a tuple of strings to indicate the column separators. If the length of the string tuple is less than the total number of columns, then the last separator is assumed to be the separator for the rest of the columns. columns -- a tuple of integers and range-tuples which describe the columns to read from the file. A negative entry in the last column specifies the negative skip value to the end. Example: columns=(1, 4, (5, 9), (11, 15, 3), 17, -2) will read [1,4,5,6,7,8,11,14,17,19,21,23,...] If multiple arrays are to be returned, then this argument should be an ordered list of such tuples. There should be one entry in the list for each arraytype in the atype list. lines -- a tuple with the same structure as columns which indicates the lines to read. comment -- the comment character (line will be ignored even if it is specified by the lines tuple) linesep -- separator between rows. missing -- value to insert in array when conversion to number fails. atype -- the typecode of the output array. If multiple outputs are desired, then this should be a list of typecodes. The columns to fill the array represented by the given typecode is determined from the columns argument. If the length of atype does not match the length of the columns list, then, the smallest one is expanded to match the largest by repeatedly copying the last entry. rowsize -- the allocation row size (array grows by this amount as data is read in). Output -- the 1 or 2d array, or a tuple of output arrays of different types, sorted in order of the first column to be placed in the output array. cheers, f |