сохранение результатов цикла for на основе python в отдельный текстовый файл

avatar
cyco lo
1 июля 2021 в 16:48
32
1
0

у меня есть файл .mat. Я хочу прочитать каждый его столбец и сохранить каждый столбец в отдельный текстовый файл, например data_1.txt data_2.txt....data_10.txt

Мой сценарий

import numpy as np
import h5py


c1 = h5py.File('test_data.mat', 'r')  
out1=c1.get('dat')


for x in range(10):
   dd=out1[x]
   np.savetxt('data_x.txt', dd,fmt='%10.2f')

Но он не записывает в отдельный текстовый файл, может ли кто-нибудь предложить лучшее решение для этого. Спасибо.

Источник
Camilo Martinez M.
1 июля 2021 в 16:51
0

Вы пишете в тот же файл с именем «data_x.txt». Попробуйте f'data_{x}.txt', имя, которое меняется с каждой итерацией.

Ответы (1)

avatar
ti7
1 июля 2021 в 16:51
0

вы близки - измените имя файла, включив в него индекс

...
    np.savetxt(f"data_{x}.txt", dd,fmt='%10.2f')

изменение незначительное: здесь используется f-строка, которая позволяет легко записывать переменные в строку по имени