2024-05-13 11:47:01 发布
网友
我有一个文件读取器,它从文件中读取n个字节,并返回一个表示该(二进制)数据的字符字符串。我想将n字节读入一个numpy数字数组并对其运行FFT,但是我在从字符串创建数组时遇到了问题。举几个例子就太棒了。
编辑: 我正在读取原始二进制数据,因此得到的字符串看起来像'\x01\x05\x03\xff'...。我希望它变成[1, 5, 3, 255]。
'\x01\x05\x03\xff'...
[1, 5, 3, 255]
不知道你得到了什么是困难的,但如果它是逗号分隔的整数,你可以这样做:
myInts = map(int, myString.split(','))
您可以使用numpy.fromstring直接执行此操作:
numpy.fromstring
import numpy as np s = '\x01\x05\x03\xff' a = np.fromstring(s, dtype='uint8')
完成后,a就是array([ 1, 5, 3, 255]),您可以使用常规的scipy/numpy FFT例程。
a
array([ 1, 5, 3, 255])
>>> '\x01\x05\x03\xff' '\x01\x05\x03\xff' >>> map(ord, '\x01\x05\x03\xff') [1, 5, 3, 255] >>> numpy.array(map(ord, '\x01\x05\x03\xff')) array([ 1, 5, 3, 255])
不知道你得到了什么是困难的,但如果它是逗号分隔的整数,你可以这样做:
您可以使用
numpy.fromstring
直接执行此操作:完成后,
a
就是array([ 1, 5, 3, 255])
,您可以使用常规的scipy/numpy FFT例程。相关问题 更多 >
编程相关推荐