前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NumPy-读写文件「建议收藏」

NumPy-读写文件「建议收藏」

作者头像
全栈程序员站长
发布2022-08-24 15:24:17
9990
发布2022-08-24 15:24:17
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

读写文件

NumPy 文件读写主要有二进制的文件读写和文件列表形式的数据读写两种形式

(1) save 函数是以二进制的格式保存数据。 格式: np.save (“./save_arr “, arr1) (2) load 函数是从二进制的文件中读取数据。 格式: np.load(“./ save_arr.npy”) (3) savez 函数可以将多个数组保存到一个文件中。 格式: np.savez(‘./savez_arr’,arr1,arr2) (4) 存储时可以省略扩展名,但读取时不能省略扩展名

读取文本格式的数据(TXT CSV 格式)

(1) savetxt 函数是将数组写到某种分隔符隔开的文本文件中。 格式: np.savetxt(“./arr.txt”, arr, fmt=”%d”, delimiter=”,”) ## fmt=”%d”表示保存为整数,delimiter=”,”表示用’,’隔开。 (2) loadtxt 函数执行的是把文件加载到一个二维数组中。 格式: np.loadtxt(“./arr.txt”,delimiter=”,”) (3) genfromtxt 函数面向的是结构化数组和缺失数据。 格式: np.genfromtxt(“./arr2.txt”, delimiter = “,”)

二进制文件读写

(1) save() 函数是以二进制的格式保存数据; load() 函数是从二进制的文件中读取数据

代码语言:javascript
复制
import numpy as np

arr1 = np.arange(40).reshape((5,8))
print(arr1)

# 保存二进制文件,npy格式是一个数组的文件保存
np.save('./save_arr',arr1)  

arr3 = np.load('./save_arr.npy')  # 读取二进制文件
print(arr3)

(2) savez() 函数可以将多个数组保存到一个文件中

代码语言:javascript
复制
import numpy as np

arr1 = np.arange(40).reshape((5,8))
arr2 = np.arange(1,10,1)
# print(arr1)
# print(arr2)

np.savez('./savez_arr',arr1,arr2)    # 保存二进制文件,npz多个数组的文件保存
load_data = np.load('./savez_arr.npz')  # 读取二进制文件
print(load_data)
print(type(load_data))

# 可遍历文件中的键值(也可以通过开启断点来获取)
# for i,k in load_data.items():
#     print(i,k)
# 结果: 
# arr_0 [[ 0  1  2  3  4  5  6  7]
#     [ 8  9 10 11 12 13 14 15]
#     [16 17 18 19 20 21 22 23]
#     [24 25 26 27 28 29 30 31]
#     [32 33 34 35 36 37 38 39]]
# arr_1 [1 2 3 4 5 6 7 8 9]

print(load_data['arr_0'])
print(load_data['arr_1'])

文本文件读写

(1) savetxt() 函数是将数组写到某种分隔符隔开的文本文件中; loadtxt() 函数执行的是把文件加载到一个二维数组中

代码语言:javascript
复制
import numpy as np

arr = np.arange(0,9,1).reshape(3,-1) # -1的意思是根据行数自动匹配列数
print(arr)
# 结果:
# [[0 1 2]
#  [3 4 5]
#  [6 7 8]]

# fmt='%d'表示保存为整数,delimiter=","表示用','隔开
np.savetxt('arr.txt',arr,fmt='%d',delimiter=',')    # 保存
load_txt = np.loadtxt('arr.txt',delimiter=',')  # 读取
print(load_txt)
# 结果:
# [[ 0.  1.  2.]
#  [ 3.  4.  5.]
#  [ 6.  7.  8.]]

(2) genfromtxt 函数面向的是结构化数组和缺失数据(基本操作)

代码语言:javascript
复制
import numpy as np

arr = np.arange(0,9,1).reshape(3,-1) # -1的意思是根据行数自动匹配列数
# print(arr)
# 结果:
# [[0 1 2]
#  [3 4 5]
#  [6 7 8]]

# fmt='%d'表示保存为整数,delimiter=","表示用','隔开
np.savetxt('./arr2.txt',arr,fmt='%d',delimiter=',')    # 保存
# skip_header从哪行开启读取
load_txt = np.genfromtxt('./arr2.txt',delimiter=',',skip_header=1)  # 读取
print(load_txt)
# 结果:
# [[ 3.  4.  5.]
#  [ 6.  7.  8.]]

# 二维数组切片方式
print(load_txt[1:2,0:3])
# 结果:
# [[ 6.  7.  8.]]

print(load_txt[0:3,0])
# 结果: [ 3.  6.]

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140580.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月8,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 读写文件
    • NumPy 文件读写主要有二进制的文件读写和文件列表形式的数据读写两种形式
      • 读取文本格式的数据(TXT CSV 格式)
      • 二进制文件读写
        • 文本文件读写
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档