最简单的按行读写
文件格式:可以没有后缀,或者如.csv;.txt等形式。一般用于分行处理数据,特别是每行的数据存在不同分隔符隔开层次。
读写+处理:
‘’‘
data:
oid label a1,b1,c1;a2,b2,c2;a3,b3,c3
213 1 33,44,55;11,22,33;66,77,88
566 0 22,33,44;88,99,00;44,55,66
’‘’
def process(line):
items = line.strip().split('\t')
oid=iterms[0]
label=iterms[1]
parts = items[2].split(';')
fw.write(oid)
fw.write('\t')
fw.write(label)
fw.write('\t')
for part in parts:
s = parts.split(',')
a=s[0]
b=s[1]
c=s[2]
fw.write(a)
fw.write(',')
fw.write(b)
fw.write(',')
fw.write(c)
fw.write(';')
fw= open("/path/data",'w')
with open("/path/data",'r') as f:
for line in f:
process(line)
fw.close()
使用numpy读取
文件格式:后缀名一般是.npy(数组以二进制格式保存在磁盘,无法直接打开查看)
读写单个数组文件:
import numpy as np
data = np.load('/path/data.npy')
np.save('/path/data.npy',data)
读写多个数组文件:
import numpy as np
a=np.arange(3)
b=np.arange(4)
c=np.arange(5)
np.savez('array_save.npz',a,b,c_array=c)
A=np.load('array_save.npz')
print(A['arr_0'])
print(A['arr_1'])
print(A['c_array'])