数据读取的几种方法
普通数据读取
open()函数 打开文件 参数‘r’可读 ’r’可写
read() 通过字符串的形式读取已打开的文件的数据
write() 通过字符串的形式保存至已打开的文件
replace() 将字符串中的数据进行替换
close() 关闭打开的文件,数据才会保存
data=open(bamboofile1,"r")
result=open(bamboofile2,"w")
bamboodata=data.read()
#将,换为\n
bamboodata=bamboodata.replace(",","\n")
data.close()
result.write(bamboodata)
result.close()
pandas数据读取
xls文件读取
read_excel()读取数据
as_matrix() 将表格数据转换为矩阵
bamboofile = '../data/model.xls' #数据名
bamboodata = pd.read_excel(bamboofile) #读取数据,数据的前三列是特征,第四列是标签
#print(data)
# 电量趋势下降指标 线损指标 告警类指标 是否窃漏电
# 0 4 1 1 1
# 1 4 0 4 1
# 2 2 1 1 1
# 3 9 0 0 0
data = data.as_matrix() #将表格转换为矩阵
#print(data)
# [[4 1 1 1]
# [4 0 4 1]
# [2 1 1 1]
numpy数据存取
CSV文件、txt文件存取
读取数据 loadtxt()
frame:文件名 可以是.gz或bz2的压缩文件
dtype:数据类型,可选,默认会根据数据调整
delimiter:分割字符串,默认为空格
unpack:如果true,读入属性将分别写入不同变量
fmt:写入文件的格式,例如:%d,%.2f
np.loadtxt(frame,dtype=np.float,delimiter=None,unpack=false)
data=np.loadtxt('a.csv',delimiter=',',fmt='%.1f',dtype=np.float32)
保存数据 savetxt()
frame:文件名 可以是.gz或bz2的压缩文件
array:存入文件的数组
dtype:数据类型,可选,默认会根据数据调整
delimiter:分割字符串,默认为空格
unpack:如果true,读入属性将分别写入不同变量
fmt:写入文件的格式,例如:%d,%.2f
np.savetxt(frame,array,dtype=np.float,delimiter=None,unpack=false)
np.loadtxt('a.csv',a,delimiter=',',fmt='%.1f',dtype=np.float32)
多维数据存取
存取时需要知道数据本身维度
多维数据保存 tofile()
frame:文件,字符串
sep:数据分割字符串,如果是空串,写入文件为二进制
format:写入数据的格式
bamboosir=np.arange(100).reshape(5,10,2)
bamboosir.tofile("bamboo.dat",sep=",",format=‘%d')
bamboosir=np.arange(100).reshape(5,10,2)
bamboosir.tofile("bamboo.dat",format=‘%d')
多维数据读取 fromfile()
frame:文件、字符串
dtype:读取数据类型
count:读取元素个数,-1表示读入整个文件
sep:数据分割字符串,如果是空串,写入文件为二进制
bamboosir=np.arange(100).reshape(5,10,2)
bamboosir.tofile("bamboo.dat",format=‘%d',sep=',')
bamboodata=np.fromfile("bamboo.dat",dtype=np.int,sep=',')
bamboodata.reshape(5,10,2)
快捷存取
numpy提供一种快捷保存数据的方法,并记录数据维度
快捷保存 save(frame,array)
frame:文件名,以.npy为扩展名,压缩文件为.npz
array:数组变量
np.save('bamboosir.npy',bamboodata)
快捷读取
frame:文件名,以.npy为扩展名,压缩文件为.npz
bamboodata=np.save('bamboosir.npy')