概要
在python中使用numpy对csv文件进行读取的时候费了些功夫,记录在此以防下次遇上
数据读取
import numpy as np
dataarr = np.loadtxt(open("D:\orgStatstic1.csv","rb"),delimiter=",",skiprows=0,dtype=str,encoding='UTF-8')
对掉坑的进行一一解释:
-
open(“D:\orgStatstic1.csv”,“rb”)
此处路径要用绝对路径,相对路径会报错找不到文件,目前还不知道原因是什么,可能是因为我的代码没有写在安装python的文件夹下,是从安装路径进行相对路径的选取的
-
dtype=str
默认读取格式为float,不加这个会报错:无法将str格式转换为float格式
-
encoding=‘UTF-8’
读取数据的编码格式,不添加这个选项时打印出的dataarr会报错:无法进行编码
-
dataarr 数据格式
其数据格式为列表list
例:
- csv文件:
关于numpy读取csv文件的一些记录概要 - 读取出来的效果:
['\ufeff1m' '3m' '5m' '7m' '9m' '15m' '20m']
['-15' '-27' '-22' '-52' '-109' '-100' '-120']
['-15' '-30' '-27' '-83' '-52' '-120' '-83']
['-10' '-22' '-20' '-36' '-131' '-131' '-131']
['-17' '-36' '-25' '-83' '-144' '-131' '-144']
['-17' '-36' '-47' '-19' '-100' '-144' '-109']
['-10' '-39' '-27' '-69' '-109' '-120' '-120']
['-15' '-39' '-25' '-52' '-109' '-131' '-75']
对csv文件进行按列读取
import numpy as np
rssi1,rssi3 = np.loadtxt(open("D:\毕设\数据\数据预处理\org.csv","rb"),delimiter=",",skiprows=1,dtype=str,encoding='UTF-8',usecols=(0,1),unpack=True)
print(rssi3)
-
unpack=True
需添加否则会报错:too many values to unpack (expected 2)
-
skiprows=1
跳过的行数,此处表示跳过第一行
-
usecols=(0,1)
表示对第几列进行分别读取并存储进相对应的变量,此处只读取了两列,可分别读取更多列
列数是从0开始进行计数的
例:
- csv文件:仍是上述的csv文件
- 读取出来的效果: