根据您存储的数据类型以及如果您可以使用 numpy,执行此操作的一个好方法是numpy.genfromtxt:
import numpy as np
data = np.genfromtxt('data.csv', delimiter=',', names=True)
这将创建一个 numpy结构化数组,它提供了一个很好的接口,用于通过标头名称查询数据(请确保使用names=True
如果您有标题行)。
给定示例data.csv
包含:
a,b,c
1,2,3
4,5,6
7,8,9
然后您可以使用以下方式访问元素:
>>> data['a'] # Column with header 'a'
array([ 1., 4., 7.])
>>> data[0] # First row
(1.0, 2.0, 3.0)
>>> data['c'][2] # Specific element
9.0
>>> data[['a', 'c']] # Two columns
array([(1.0, 3.0), (4.0, 6.0), (7.0, 9.0)],
dtype=[('a', '<f8'), ('c', '<f8')])
genfromtext
根据您的要求,还提供了一种“格式化由列预先摄取的数据”的方法。
转换器 : 变量,可选
将列数据转换为值的函数集。转换器还可以用于为丢失的数据提供默认值:converters = {3: lambda s: float(s or 0)}
.