数据:
X,Y,NAME,LABEL
120.7512427,30.75084798,嘉兴市,2
120.0830671,30.89524644,湖州市,80
120.574379,30.00700998,绍兴市,140
122.202972,29.98754304,舟山市,165
121.546246,29.87620299,宁波市,86
119.642848,29.08127199,金华市,184
118.869413,28.93892703,衢州市,72
121.416636,28.65889302,台州市,38
119.912514,28.455276,丽水市,49
120.695457,27.99819198,温州市,127
103.71468,27.341637,昭通市,23
简单读取
import numpy as np
path = 'city_aic.csv'
with open(path, encoding='utf-8') as f:
data = np.loadtxt(path, delimiter=',')
print(data[:5])
这样直接读取的结果是,报错: ValueError: could not convert string to float: ‘X’
字符串处理-str参数
原因是,默认情况下,数据被认为是float类型,因此,在上面读取csv文件第1行时,遇到’X’,尝试进行数据类型转换,转换失败报错。
经查可以使用str参数,让方法读取数据时,支持str类型。
import numpy as np
path = 'city_aic.csv'
with open(path, encoding='utf-8') as f:
data = np.loadtxt(path, dtype=str, delimiter=',')
print(data[:5])
#结果
[['X' 'Y' 'NAME' 'LABEL']
['120.7512427' '30.75084798' '嘉兴市' '2']
['120.0830671' '30.89524644' '湖州市' '80']
['120.574379' '30.00700998' '绍兴市' '140']
['122.202972' '29.98754304' '舟山市' '165']]
跳过首行 - skiprow = 1
import numpy as np
path = 'city_aic.csv'
with open(path, encoding='utf-8') as f: