我有一个.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', ',')
但这会生成一条错误消息,说明“列表”对象没有属性“编码”
[P.S另外,我之前还没有使用过sys模块。我的新csv文件将写在哪里,用什么名字命名?]
答案 0 :(得分:0)
首先,您在[]
的排列上有一个小错误
。无需创建列表。
另外,sys.stdout
取决于您的过程“标准输出”。对于交互式过程,它将转到屏幕。如果要捕获输出,则应创建一个文件并写入文件。另外,您的格式字符串(%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