很多时候要读写文本格式的数据(如TXT或CSV)。当你使用NumPy或其他应用时,考虑到文本格式的文件不必使用这些应用也能处理。拿几行CSV(Comma-Separated Values,用逗号分割的值)格式的数据为例。这种格式未列表形式,每两个值之间用逗号隔开。
id,value1,value2,value3
1,123,1.4,23
2,110,0.5,18
3,164,2.1,19
NumPy的genfromtxt()函数可以从文本文件中读取数据并将其插入数组中。通常而言,这个函数接收三个参数:存放数据的文件名,用于分割字符是否含有列标题。
>>>data=np.genfromtxt('data.csv',delimiter=',',names=True)
>>>data
array([(1.0,123.0,1.4,23.0),(2.0,110,0.5,18),(3,164,2.1,19)]),
dtype=[('id','<f8'),('value','<f8'),('value2','<f8'),('value3','<f8')]
>>>data['id']
array([1,2,3])
>>>data[0]
(1.0,123,1.4,23)