Создайте фрейм данных для каждой папки в папке (файлы WAV) - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь сказать python перебирать все oop по каждой папке в папке. Это код, который работает с ручным вводом пути. Теперь я хочу, чтобы l oop делал то, что делает, но автоматически для каждой папки и сохранял ее в отдельных фреймах данных с разными именами.

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'])

У кого-нибудь есть решение для этого?

1 Ответ

0 голосов
/ 14 января 2020

Вот способ, просто сохраните фрейм данных внутри l oop.

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...