NumPy之读写文本文件

本文介绍了如何使用NumPy进行文本文件的读写操作,包括读取.npy和.txt文件,处理带有列名的txt文件,以及如何写入.npy、.npz和txt格式的数据。在读取时,可以通过comment参数跳过注释行;在写入时,可以自定义数据的保存格式,如科学计数法、小数位数等。
摘要由CSDN通过智能技术生成

一、读取文件

读取.npy,.npz格式数据

file=r""
data_array=np.load(file)

读取.txt文件

file=r""
data_array=np.loadtxt(file)

有时候我们的txt文件第一行中可能有关于每一列的列名,是字符串格式,使用numpy读取时需要跳过这一行。例如下面的文件,

直接读取会提示

ValueError: could not convert string to float: 'x'

可以使用comment参数指定注释行,numpy会跳过改行。

In [11]: data_array=np.loadtxt(file,comments="x")

In [12]: data_array
Out[12]:
array([[ 11.,  21.,  18., 255.,   0., 255.,   1.],
       [ 19.,  93.,  90., 128.,   0., 128.,   1.]])

二、写文件

保存.npy、.npz格式数据

np.savetxt()

保存txt格式数据

np.savetxt()

例如下面的数组使用numpy保存成txt,

In [1]: import numpy as np

In [2]: a=np.array([[1.112320,240.001234,1.431897],[9.01234,2.0896543,4.0986135]])

In [3]: print(a)
[[  1.11232   240.001234    1.431897 ]
 [  9.01234     2.0896543   4.0986135]]

In [4]: out_file=r"C:\Users\123\Desktop\out.txt"
In [5]: np.savetxt(out_file,a)

可以发现文件里的数据是以科学计数法保存的,如果想设置保留小数位,可以按下面的方式设置,

In [7]: np.set_printoptions(suppress=True)

In [8]: np.set_printoptions(precision=6)

In [9]: np.savetxt(out_file,a,fmt="%.06f %.04f %.02f")

supress=True,表示不用科学计数法,precision表示小数点位置,fmt用来指定每一列的保存格式,如果格式一致,可以只写一个格式,如fmt="%.06f"。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GHZhao_GIS_RS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值