我正在尝试检索重新排列的列标题,并遇到相当大的麻烦.如果我使用pylab的csv2rec函数读入.csv文件,我可以通过以下方式访问列标题:
from pylab import csv2rec x = csv2rec(file.csv) x.column1 x.column2
其中’column1’是第一列的标题,它将返回列中的其余值.但是,我正在读一个.csv文件,其中我不知道列标题的所有值是什么,我希望能够访问它们(循环或设置列表).这似乎应该很简单.有任何想法吗?
解决方法
您可以使用x.dtype.names:
>>> import numpy as np >>> a = np.array([0.1,0.2]) >>> b = np.array([0.3,0.4]) >>> dtype = {'names' : ['a','b'],'formats' : ['f8','f8']} >>> c = np.rec.fromarrays([a,b],dtype = dtype) >>> c rec.array([(0.1,0.3),(0.2,0.4)],dtype=[('a','<f8'),('b','<f8')]) >>> print c.dtype.names ('a','b')
或者,使用您的示例:
[physics@aurora ~/calc ]$cat csv.dat a,b 0.1,0.3 0.2,0.4 In [1]: from pylab import csv2rec In [2]: x = csv2rec('csv.dat') In [3]: for name in x.dtype.names: ...: print name a b