.npz 文件是 NumPy 的压缩存档格式,可以包含多个数组。
一、导入包
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[][i]], end=)

