Python将数据写入文本
Python将数据写入文本,目前遇到的是处理两种数据,一种是对string类型的数据写入,还有一种是对数组类型的数据进行写入
1.对string类型的内容进行写入
创建文件对象
我们打开一个文件,并使用一个对象来表示该文件:
f = open(文件名,模式)
最常用的模式有:
“r” # 只读
“w” # 写入
比如
f = open("test.txt","r")
文件对象的方法
读取:
content = f.read(N) # 读取N bytes的数据
content = f.readline() # 读取一行
content = f.readlines() # 读取所有行,储存在列表中,每个元素是一行。
写入:
f.write('I like apple') # 将'I like apple'写入文件
关闭文件:
f.close()
2.对数组类型的内容进行写入
将整个数据写入到文件中,就是先完成数组的创建和数据的存储,之后将整个数组写入的文件中。
保存:表示将dets数组保存到指定路径下的txt文件中,格式是浮点型,以逗号为分割符
dets = np.array([[1,2],[3,4]])
np.savetxt("路径", dets,fmt='%f',delimiter=',')
//这里记得需要对numpy包进行安装//
读取:表示从指定txt文件下读取,并以逗号为分割符
dets= np.loadtxt('dets.txt',delimiter=',')
还有一种方式是处理数组的途中用f.write的方式写入数组
例如:现有一个名为“traindata”的矩阵,其参数为:
依次处理数组的每个元素
file3 = open(r'路径', 'w',encoding='UTF-8')
for i in range (len (traindata)):
file3.write(str(traindata[i])+'\n')
file3.close()
或:
with open('路径', 'w') as f:
for i in range (len (traindata)):
f.write(str(traindata[i])+'\n')
总结
f = open(name, "r")
line = f.readline()
f.write('abc')
f.close()
np.savetxt("路径", dets,fmt='%f',delimiter=',')
with open('路径', 'w') as f:
for i in range (len (traindata)):
f.write(str(traindata[i])+'\n')
参考:
https://stackoverflow.com/questions/39483774/how-to-write-numpy-arrays-to-txt-file-starting-at-a-certain-line
https://www.cnblogs.com/vamei/archive/2012/06/06/2537868.html
https://blog.csdn.net/qq_38497266/article/details/88871197
来源:许白