Numpy 可以读写磁盘上的文本数据或二进制数据。

NumPy 为 ndarray 对象引入了一个简单的文件格式:npy。

npy 文件用于存储重建 ndarray 所需的数据、图形、dtype 和其他信息。

常用的 IO 函数有:

load() 和 save() 函数是读写文件数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 .npy 的文件中。

savez() 函数用于将多个数组写入文件,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 .npz 的文件中。

loadtxt() 和 savetxt() 函数处理正常的文本文件(.txt 等)

numpy.save()

numpy.save() 函数将数组保存到以 .npy 为扩展名的文件中。

numpy.save(file, arr, allow_pickle=True, fix_imports=True)

参数说明:

file:要保存的文件,扩展名为 .npy,如果文件路径末尾没有扩展名 .npy,该扩展名会被自动加上。

arr: 要保存的数组

allow_pickle: 可选,布尔值,允许使用 Python pickles 保存对象数组,Python 中的 pickle 用于在保存到磁盘文件或从磁盘文件读取之前,对对象进行序列化和反序列化。

fix_imports: 可选,为了方便 Pyhton2 中读取 Python3 保存的数据。

importnumpy as np

a= np.array([1, 2, 3, 4, 5])

np.save('outfile.npy', a) #保存到 outfile.npy 文件上

np.save('outfile2', a) #保存到 outfile2.npy 文件上,如果文件路径末尾没有扩展名 .npy,该扩展名会被自动加上

我们可以查看文件内容:

$ cat outfile.npy

?NUMPYv{'descr':'

?NUMPYv{'descr':'

可以看出文件是乱码的,因为它们是 Numpy 专用的二进制格式后的数据。

可以使用 load() 函数来读取数据就可以正常显示了:

importnumpy as np

b= np.load('outfile.npy')print (b)

输出结果为:

[12345]

np.savez

numpy.savez() 函数将多个数组保存到以 npz 为扩展名的文件中。

numpy.savez(file, *args, **kwds)

参数说明:

file:要保存的文件,扩展名为 .npz,如果文件路径末尾没有扩展名 .npz,该扩展名会被自动加上。

args: 要保存的数组,可以使用关键字参数为数组起一个名字,非关键字参数传递的数组会自动起名为 arr_0, arr_1, … 。

kwds: 要保存的数组使用关键字名称。

importnumpy as np

a= np.array([[1, 2, 3], [4, 5, 6]])

b= np.arange(0, 1.0, 0.1)

c=np.sin(b)#c 使用了关键字参数 sin_array

np.savez("runoob.npz", a, b, sin_array=c)

r= np.load("runoob.npz")print("查看各个数组名称:",r.files)print('\n')print("数组 a:")print(r["arr_0"])print('\n')print("数组 b:")print(r["arr_1"])print('\n')print("数组 c:")print(r["sin_array"])

输出结果为:

查看各个数组名称: ['sin_array', 'arr_0', 'arr_1']

数组 a:

[[1 2 3]

[4 5 6]]

数组 b:

[0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]

数组 c:

[0. 0.09983342 0.19866933 0.29552021 0.38941834 0.47942554

0.56464247 0.64421769 0.71735609 0.78332691]

savetxt() 和 loadtxt()

savetxt() 函数是以简单的文本文件格式存储数据,对应的使用 loadtxt() 函数来获取数据。

np.loadtxt(FILENAME, dtype=int, delimiter=' ')

np.savetxt(FILENAME, a, fmt="%d", delimiter=",")

参数 delimiter 可以指定各种分隔符、针对特定列的转换器函数、需要跳过的行数等。

importnumpy as np

a= np.array([1,2,3,4,5])

np.savetxt('out.txt',a)

b= np.loadtxt('out.txt')print(b)

输出结果为:

[1.2.3.4.5.]

使用 delimiter 参数:

importnumpy as np

a=np.arange(0,10,0.5).reshape(4,-1)

np.savetxt("out.txt",a,fmt="%d",delimiter=",") #改为保存为整数,以逗号分隔

b = np.loadtxt("out.txt",delimiter=",")     #load 时也要指定为逗号分隔

print(b)

输出结果为:

[[0.0.1.1.2.][2.3.3.4.4.][5.5.6.6.7.][7.8.8.9.9.]]

python写文件numpy_Numpy | 23 文件读写相关推荐

  1. 用python写wps的excel文件

    参考了网上的一些帖子,试了一下用python写wps的excel文件(需要windows操作系统,安装了wps的表格处理程序,安装了pywin32)--我安装的是WPS个人版,可以免费使用的. imp ...

  2. 使用python处理wps表格_用python写wps的excel文件 | 学步园

    参考了网上的一些帖子,试了一下用python写wps的excel文件(需要windows操作系统,安装了wps的表格处理程序,安装了pywin32)--我安装的是WPS个人版,可以免费使用的. imp ...

  3. 内网python 仓库_GitHub - xanarry/LanTrans-desktop: 这是一个用python写的局域网传文件工具, 跨平台, 仓库中还有安卓版的工程...

    文档(代码比较乱) ubuntu效果 windows效果 主程序, Lantans_desktop.py 运行时所需环境: python3.4, PyQT5 如果接收过程无法被扫描到, 请关闭防火墙 ...

  4. python写byte数组到文件_这可能是写过最详细的Python文件操作。网友:收藏备用(中篇)...

    很多同学对于编码问题都不是很清楚,计算机常见的编码格式为: ASCII ISO-8859-1 GB2312 GBK UTF-8 UTF-16 对于Python开发中,我们一般都是采用统一的编码格式:U ...

  5. python把excel变成ppt_用Python写excel和ppt文件

    #xlsx和 xls #一:openpyxl 只能读取xlsx 推荐使用的二种方法 #因为excle文件中可以有多个编排 故可以返回字典 #该方法只适应于xlsx文件,不能处理xls文件 ''' fr ...

  6. Python内置十大文件操作

    日常对于批量处理文件的需求非常多,经常需要用Python写脚本调用外部文件! 本次整理Python中最常用的十大文件操作方法,直接拿来用就行啦! 01 创建和打开文件 想要操作文件需要先创建或代开指定 ...

  7. python写文件读文件-Python 读写文件和file对象的方法(推荐)

    1.open 使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('thefile.tx ...

  8. python 写csv加锁_Python: 对CSV文件读写 和 Md5加密

    1. python 有专门的csv包,直接导入即可. import csv: 2. 直接使用普通文件的open方法 csv_reader=open("e:/python/csv_data/l ...

  9. python写文件读文件-python--文件流读写

    在讲述fileinput模块之前,首先说一下python内置的文件API-open()函数以及与其相关的函数. 我这里主要讲讲其中四个比较重要和常用的方法,更多的方法,可以参考:菜鸟教程http:// ...

最新文章

  1. 改进粒子群优化算法(IWAPSO)的MATLAB源程序
  2. sql数组转换为字符串
  3. sharepoint文件夹本地同步_Windows平台下使用 Rclone 挂载 OneDrive 为本地硬盘
  4. 保研计算机辅助翻译,本科2013级推免生寄语
  5. 搭搭机器人科技活动中心怎么样_搭搭乐乐机器人怎么样?感受科技创收力量
  6. pytorch基于web端和C++的两种深度学习模型部署方式
  7. edge浏览器运行不流畅怎么办 提高edge浏览器速度的方法
  8. linux连接mysql_主机Navicat连接linux(虚拟机)的mysql数据库
  9. MongoDB(Golang)常用复合查询
  10. 【多媒体封装格式详解】---MKV【3】完
  11. 各种排序是否稳定,不稳定是为什么
  12. java 压力测试_记一次完整的java项目压力测试
  13. java对人物画像分级_用户画像,该怎么分析?
  14. 微信公众号支付、支付查询、退款、退款查询、转账到零钱银行卡、转账查询接口整合(V2)
  15. 华为拍摄月亮专利公布: 多次曝光获取月亮清晰轮廓
  16. Python处理unicode字符
  17. 好用的手机投屏电脑软件
  18. 华为P50用鸿蒙系统吗,华为P50Pro+采用鸿蒙系统么-搭载鸿蒙OS么
  19. 机械手爪部位触觉感应系统
  20. Pycharm社区版下载与安装

热门文章

  1. 心流状态---人们做事时内心的一种状态
  2. 海康威视(HIKViSION)2009年校园招聘笔试题-杭州(1)
  3. 面试应该问公司什么问题
  4. 计算机游戏13关gongl,密室逃脱4之恐怖电影院第13关怎么过 第13关通关攻略
  5. 编写python程序按照单利方式计算理财产品收益
  6. Cocos2dx lua 2.xpk 3.x偏Mac OS
  7. 网页链接跳转qq聊天界面以及QQ群是什么实现的
  8. 618年中大促八大情景话术大全(赶紧收藏)
  9. python编程培训多少钱-编程培训多少钱,python编程培训多少钱
  10. 【元胞自动机】基于元胞自动机实现高速公路收费站交通流问题附matlab代码