我很难从二进制文件创建NumPy数组。
二进制文件由许多包含来自多个麦克风的样本的c_int32组成。数据是按以下顺序写入文件的:
频率+ sampleCounter + mic1 + mic2 + mic3 + mic4
我对数据进行了大约2秒的采样,所以我有一个相当大的二进制文件。
我要做的是从包含6列的二进制文件中创建一个NumPy数组。
lLke这个:
频率,sampleCounter,mic1,mic2,mic3,mic4
频率,sampleCounter,mic1,mic2,mic3,mic4
频率,sampleCounter,mic1,mic2,mic3,mic4
频率,sampleCounter,mic1,mic2,mic3,mic4
频率,sampleCounter,mic1,mic2,mic3,mic4
频率,sampleCounter,mic1,mic2,mic3,mic4
频率,sampleCounter,mic1,mic2,mic3,mic4
问题是行数是未知的。在使用二进制文件之前,我将数据存储在文本文件中。然后我可以读取文件并创建NumPy数组。
所以现在的问题是我不能使用分隔符',它在矩阵中创建了一个新的行。
有什么聪明的解决办法吗?
发布于 2022-11-05 13:12:13
您可以使用fromfile读取完整的文件
data = numpy.fromfile(filename, dtype=numpy.int32)这将给出n*6的值。然后重新塑造数组:
data = data.reshape(-1, 6)https://stackoverflow.com/questions/74327377
复制相似问题