python - 为文件夹中的每个文件夹创建一个数据框(wav 文件)
问题描述
我试图告诉 python 在文件夹中的每个文件夹上迭代一个循环。这是与路径的手动输入一起使用的代码。现在我希望循环完成它的工作,但会自动为每个文件夹自动保存,并将其保存到具有不同名称的单独数据框中。
file_list = []
duration_list = []
for wave_file in glob.glob('path_name\*.wav'):
sound = parselmouth.Sound(wave_file)
duration = measurePitch(
sound, 75, 300, "Hertz")
file_list.append(wave_file)
duration_list.append(duration)
# Add the data to Pandas
df = pd.DataFrame(np.column_stack([file_list, duration_list]), columns=['voiceID', 'duration'])
有人对此有解决方案吗?
解决方案
这是一种方法,只需将数据框保存在循环中即可。
save_path = "save_path/"
path_name = "C:\\Users\\guest\\Desktop\\test\\"
for index, wave_file in enumerate(glob.glob(f'{path_name}*.wav')):
sound = parselmouth.Sound(wave_file)
duration = measurePitch(sound, 75, 300, "Hertz")
df = pd.DataFrame([[wave_file, duration]], columns=['voiceID', 'duration'])
df.to_csv(f'{save_path}file_{index+1}.csv', index=False)
推荐阅读
- django - 在 Django 中,html 模板中的 for 循环无法正常工作
- python - 在 Pandas DataFrame 中,如何根据字符串前缀将列表转换为多个列表并保持顺序?[Python]
- java - 使用多个字段将对象添加到集合中作为相等比较,以覆盖现有的 equals 和 hashCode 方法
- bash - 如何从 TMUX 会话中完全关闭终端(Ubuntu bash)?
- python - 根据来自另一个数据帧的列值在数据帧中查找一行并对其应用过滤器
- php - 如何使用 phpunit 模拟 Yii@1.1 的 CActiveRecord(避免空属性)?
- android - Android 库字符串覆盖项目字符串
- angular - jsPDF在尝试实现时出现多个错误
- python - 安装 django-simple-captcha 有一些错误
- sql - 检索历史余额以供以后使用