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

来源:许白

物联沃分享整理
物联沃-IOTWORD物联网 » Python将数据写入文本

发表评论