Python中将.h5文件转换为.csv

时间:2020-04-18 13:22:13

标签: python numpy csv h5py sys

我有一个.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文件将写在哪里,用什么名字命名?]

1 个答案:

答案 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
相关问题