文件输入的十六进制数据转换成numpy float16

1. 读入文件内容

a.txt中保存十六进制数据
0020
	fp    =  open("a.txt", r)
	lines =  fp.readlines()

2. 截取文件中的十六进制数据,

方法一:利用struct和frombuffer

	import struct
	for line in linel:
		while(len(line) > 3):
			shex0 = line[-4:]
			bhex0= struct.pack("H", int(shex0,16)) #按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构体的字节流)
			fhex0 = np.frombuffer(bhex0, dtype=np.float16)[0] #将字节流字符串转换成numpy float16数据类型
			line = line[:-4]

方法二: 直接利用np.array view

	import struct
	for line in linel:
		while(len(line) > 3):
			shex1 = line[-4:]
			fhex1 = np.array(int(shex1, 16), dtype='int16').view(np.float16)
			line = line[:-4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值