Код в Python, который преобразует файлы .h5 в .csv - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть файл .h5, который мне нужно преобразовать в .csv, и это то, что я сделал.

#coding: utf-8

import numpy as np
import sys
import h5py

file = h5py.File('C:/Users/Sakib/Desktop/VNP46A1.A2020086.h01v01.001.2020087082319.h5','r')
a = list(file.keys())

np.savetxt(sys.stdout, file[a[0:]], '%g', ',')

Но это вызывает ошибку, говоря, что у объекта списка нет атрибута «закодировать»

[PS Также я раньше не работал с модулем sys. Где будет написан мой новый CSV-файл и под каким именем?]

1 Ответ

0 голосов
/ 18 апреля 2020

Во-первых, у вас есть небольшая ошибка в расположении []. Нет необходимости создавать список. Кроме того, sys.stdout зависит от вашего процесса "стандартный вывод". Для интерактивного процесса это будет go на экран. Вы должны создать файл и записать в него, если хотите захватить вывод. Кроме того, ваша строка форматирования (%g) должна соответствовать данным в наборе данных HDF5. Попробуйте это:

h5f= h5py.File('C:/Users/.....h5','r')
for a in h5f.keys() :
    outf = open('./save_'+a+'.txt','w')
    np.savetxt(outf, file[a][:], '%g', ',')
    outf.close
...