Use numpy.savetxt (handles multiple columns) rather than ndarray.tofile
authorW. Trevor King <wking@drexel.edu>
Wed, 19 May 2010 10:16:27 +0000 (06:16 -0400)
committerW. Trevor King <wking@drexel.edu>
Wed, 19 May 2010 10:16:27 +0000 (06:16 -0400)
hooke/plugin/curve.py
hooke/plugin/cut.py

index b93ccbc81e2c8a954c3590c69b1ca91af8b7bee7..b63f250e645c20a7314b16fce19a9f549f527696 100644 (file)
@@ -24,6 +24,8 @@ associated :class:`hooke.command.Command`\s for handling
 :mod:`hooke.curve` classes.
 """
 
 :mod:`hooke.curve` classes.
 """
 
+import numpy
+
 from ..command import Command, Argument, Failure
 from ..curve import Data
 from ..plugin import Builtin
 from ..command import Command, Argument, Failure
 from ..curve import Data
 from ..plugin import Builtin
@@ -143,10 +145,8 @@ File name for the output data.  Defaults to 'curve.dat'
             help=self.__doc__, plugin=plugin)
 
     def _run(self, hooke, inqueue, outqueue, params):
             help=self.__doc__, plugin=plugin)
 
     def _run(self, hooke, inqueue, outqueue, params):
-        data = params['curve'].data[params['block']]
-        f = open(params['output'], 'w')
-        data.tofile(f, sep='\t')
-        f.close()
+        data = params['curve'].data[int(params['block'])] # HACK, int() should be handled by ui
+        numpy.savetxt(params['output'], data, delimiter='\t')
 
 class DifferenceCommand (Command):
     """Calculate the derivative (actually, the discrete differentiation)
 
 class DifferenceCommand (Command):
     """Calculate the derivative (actually, the discrete differentiation)
index 2771ef5bb4a574ebe37e26160349badcaaf62c98..18e30b96e67aba59a3908d19a70627466c49f85b 100644 (file)
@@ -22,6 +22,8 @@
 :class:`CutCommand`.
 """
 
 :class:`CutCommand`.
 """
 
+import numpy
+
 from ..command import Command, Argument, Failure
 from ..plugin import Plugin
 
 from ..command import Command, Argument, Failure
 from ..plugin import Plugin
 
@@ -90,6 +92,4 @@ File name for the output data.
         cut_data = data[i_min:i_max+1,:] # slice rows from row-major data
         # +1 to include data[i_max] row
 
         cut_data = data[i_min:i_max+1,:] # slice rows from row-major data
         # +1 to include data[i_max] row
 
-       f = open(params['output'], 'w')
-        cut_data.tofile(f, sep='\t')
-        f.close()
+        numpy.savetxt(params['output'], cut_data, delimiter='\t')