在Python中,将.h5文件转换为.csv的代码。

问题描述 投票:0回答:1

我有一个.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', ',')

但这产生了一个错误,说'list'对象没有属性'encode'。

[P.S 另外,我以前没有使用过模块系统。我的新csv文件要写在哪里,用什么名字?]

python numpy csv h5py sys
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.