Python中如何打开查看.npz文件

  • .npz文件是NumPy的压缩存档格式,可以包含多个数组(一个.npz文件包含几个数组)

一、导入包

import numpy as np

二、数据加载

poem = np.load('tang.npz',allow_pickle=True)
  • 使用NumPy的load()函数加载.npz文件:

    • file_path:指定要加载的文件路径

    • allow_pickle=True:允许加载包含Python对象(pickle)的数据

    • 返回一个NpzFile对象(这里赋值给变量poem

三、访问NpzFile对象的files属性

print(poem.files)

本文用例的属性为:(说明该对象有三个数组)

四、输出三个数组

ix2word,word2ix,data=poem['ix2word'],poem['word2ix'],poem['data']
print(ix2word)
print(word2ix)
print(data)

        ix2word和word2ix分别为汉字的索引,作用于data数组里面的索引

      

五、将 NumPy 数组中的标量值(0维数组)转换为 Python 的原生数据类型

ix2word = ix2word.item()

当你用 np.load('file.npz', allow_pickle=True) 加载数据时:

  • 如果原始数据是 Python 对象(如字典、列表),NumPy 会将其封装为 0维数组

  • 直接尝试索引会报错:IndexError: too many indices for array: array is 0-dimensional, but 1 were indexed

  • 建议用type(ix2word)来检查数据类型

六、提取data数组第一行元素

for i in range(data.shape[1]): #data为二维数组
    print(ix2word[data[1][i]],end=" ")

输出结果为:
</s> </s> <START> 逍 遥 东 城 隅 , 双 树 寒 葱 蒨 。 广 庭 流 华 月 , 高 阁 凝 余 霰 。 杜 门 非 养 素 , 抱 疾 阻 良 䜩 。 孰 谓 无 他 人 , 思 君 岁 云 变 。 官 曹 亮 先 忝 , 陈 躅 慙 俊 彥 。 岂 知 晨 与 夜 , 相 代 不 相 见 。 缄 书 问 所 如 , 詶 藻 当 芬 绚 。 <EOP> 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值