我无法将数据存储为数组

时间:2015-02-22 22:20:34

标签: python

我试图从.wav文件中读取数据并将其存储在数组中:

out = struct.unpack_from("%dh" % num_frames * num_channels, frames)
self.data = array(out)

当我尝试这个时,我得到错误:

self.data = array(out)
TypeError: must be char, not tuple

导致此错误的原因是什么? out中的所有值都不是同一类型吗?难道它们都不是负整数或正整数吗?

1 个答案:

答案 0 :(得分:1)

如果你使用array class,构造函数会接受两个参数,第一个是表示类型代码的字符。

所以你想要

from array import array
out = <...>
self.data = array('b', out)

或者文档中列出的其他类型代码之一,而不是'b'

或者您可以使用numpy.array,在这种情况下,您的代码应按原样运行:

from numpy import array
out = <...>
self.data = array(out)