[NumPy-Tickets] [NumPy] #1591: flatten_dtype does not handle titles

NumPy Trac numpy-tickets@scipy....
Mon Aug 23 11:08:19 CDT 2010

#1591: flatten_dtype does not handle titles
 Reporter:  nasturtium86             |       Owner:  somebody
     Type:  defect                   |      Status:  new     
 Priority:  normal                   |   Milestone:  2.0.0   
Component:  numpy.lib                |     Version:  1.3.0   
 Keywords:  flatten_dtype titles io  |  
 numpy.lib.io.flatten_dtype() raises "ValueError: too many values to
 unpack" when you run it on a dtype that has titles.

 For example, this code works:

 import numpy
 dtype1 = numpy.dtype([("Current","f8"),("Voltage","f8"), "Power","f8")])
 print numpy.lib.io.flatten_dtype(dtype1)

 But this code doesn't:

 import numpy
 dtype2 =
 print numpy.lib.io.flatten_dtype(dtype2)

 The following monkey patch fixes the problem:

 def flatten_dtype(ndtype):
     Unpack a structured data-type.

     names = ndtype.names
     if names is None:
         return [ndtype]
         types = []
         for field in names:
             typ_fields = ndtype.fields[field]
             flat_dt = flatten_dtype(typ_fields[0])
         return types

 With this monkey patch in place, both dtype1 and dtype2 are handled

 There is a thread open about this issue at [http://www.mail-archive.com

Ticket URL: <http://projects.scipy.org/numpy/ticket/1591>
NumPy <http://projects.scipy.org/numpy>
My example project

More information about the NumPy-Tickets mailing list