Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 如何处理文件夹中的所有.wav文件并将结果附加到python列表_List_Python 3.x_Wav - Fatal编程技术网

List 如何处理文件夹中的所有.wav文件并将结果附加到python列表

List 如何处理文件夹中的所有.wav文件并将结果附加到python列表,list,python-3.x,wav,List,Python 3.x,Wav,我在一个文件夹中有50个.wav文件,我需要在数据集中循环并加载所有50个文件。对于每个音频文件,我应该简单地将音频数据(不是采样率,只是数据)附加到名为“zero”的Python列表中 你能帮我吗? 谢谢。如果您真的只是想要音频数据 import wave, os, glob zero = [] path = '/path/to/directory' for filename in glob.glob(os.path.join(path, '*.wav')): w = wave.ope

我在一个文件夹中有50个.wav文件,我需要在数据集中循环并加载所有50个文件。对于每个音频文件,我应该简单地将音频数据(不是采样率,只是数据)附加到名为“zero”的Python列表中

你能帮我吗?
谢谢。

如果您真的只是想要音频数据

import wave, os, glob
zero = []
path = '/path/to/directory'
for filename in glob.glob(os.path.join(path, '*.wav')):
    w = wave.open(filename, 'r')
    d = w.readframes(w.getnframes())
    zero.append(d)
    w.close()

如果你真的只想要音频数据

import wave, os, glob
zero = []
path = '/path/to/directory'
for filename in glob.glob(os.path.join(path, '*.wav')):
    w = wave.open(filename, 'r')
    d = w.readframes(w.getnframes())
    zero.append(d)
    w.close()
解决方案 我意识到这是微软数据科学专业课程的一个作业,还没有看到任何好的答案。下面是你给我们的场景:

  • 文件夹中的50.wav文件
  • 需要遍历每个.wav文件并将它们全部加载到
  • 您只想附加音频数据
    数据
    ,而不是从
    scipy.io.wavfile
您已经有一个名为
zero
的空列表,我假设:

zero = []
以下是解决方案(更改
路径
以匹配您的目录):

你不想做的是循环浏览该目录中的所有文件。大多数操作系统都会创建文件(git是一个例子,Mac OS上的DS_Store是另一个例子),因此您只希望读取扩展名为
*.wav
的文件

然后使用一个简单的
.append()
来追加它们

完整性检查
len(零)
应该返回50,因为指定目录中有50个
.wav
文件

祝你好运

解决方案 我意识到这是微软数据科学专业课程的一个作业,还没有看到任何好的答案。下面是你给我们的场景:

  • 文件夹中的50.wav文件
  • 需要遍历每个.wav文件并将它们全部加载到
  • 您只想附加音频数据
    数据
    ,而不是从
    scipy.io.wavfile
您已经有一个名为
zero
的空列表,我假设:

zero = []
以下是解决方案(更改
路径
以匹配您的目录):

你不想做的是循环浏览该目录中的所有文件。大多数操作系统都会创建文件(git是一个例子,Mac OS上的DS_Store是另一个例子),因此您只希望读取扩展名为
*.wav
的文件

然后使用一个简单的
.append()
来追加它们

完整性检查
len(零)
应该返回50,因为指定目录中有50个
.wav
文件


祝你好运

谢谢你的回复。我正在完成一项作业,其中指出:“每个.wav文件实际上只是从模拟信号中“采样”的一组数字样本。采样是一种离散化。当我们提到“样本”时,我们指的是观察。当我们提到“音频样本”时,我们指的是音频文件的实际“特征”所以我希望列表中的数字为零。但是,列表的内容如下所示:“b'\x8f\xfeQ\xfe%\xfe\xe1\xfd\xc5\xfd\xd3\xfd\xf0\xfd9\xfev\xfev\xfe\xfeQ\xfe%\xfe%\xfe\xfeQ\xfe%\xfe\xfe1\xfd\xc5\xfd\xfd\xfd\xf3\xfd\xfd\xfd\xfd\xfd\xfef\xfex 00”。然后分配要求我:“将零转换为数据帧。这样做时,请将数据类型设置为np.int16“zero=pd.DataFrame(dtype=np.int16)“我得到一个空的数据帧。你能帮我进一步吗?那些是字节。查找wave python库。我相信你能想出如何让它做你需要的事情。16位=2字节。对于循环,读取帧。将TestRing返回的内容转换为int。谢谢。我最终选择使用scipy.io.wavfile.read,它直接以整数格式导入数据。谢谢您的回复。我正在完成一项作业,其中指出:“每个.wav文件实际上只是从模拟信号中“采样”的一组数字样本。采样是一种离散化。当我们提到“样本”时,我们指的是观察。当我们提到“音频样本”时,我们指的是音频文件的实际“特征”所以我希望列表中的数字为零。但是,列表的内容如下所示:“b'\x8f\xfeQ\xfe%\xfe\xe1\xfd\xc5\xfd\xd3\xfd\xf0\xfd9\xfev\xfev\xfe\xfeQ\xfe%\xfe%\xfe\xfeQ\xfe%\xfe\xfe1\xfd\xc5\xfd\xfd\xfd\xf3\xfd\xfd\xfd\xfd\xfd\xfef\xfex 00”。然后分配要求我:“将零转换为数据帧。这样做时,请将数据类型设置为np.int16“zero=pd.DataFrame(dtype=np.int16)“我得到一个空的数据帧。你能帮我进一步吗?那些是字节。查找wave python库。我相信你能想出如何让它做你需要的事情。16位=2字节。对于循环,读取帧。将TestRing返回的内容转换为int。谢谢。我最后选择使用scipy.io.wavfile.read,它直接以整数格式导入数据。