python三维数据本地保存_如何将3D Python/NumPy数组保存为文本文件?

如果保存文件需要是“csv”样式的文本,则可以使用多个savetxt和loadtxt。关键是要知道这两个都可以

以打开的文件作为输入。

写作示例:In [31]: A=np.arange(3*2*4).reshape(3,2,4)

In [32]: A # normal display as 3 blocks of 2d array

Out[32]:

array([[[ 0, 1, 2, 3],

[ 4, 5, 6, 7]],

[[ 8, 9, 10, 11],

[12, 13, 14, 15]],

[[16, 17, 18, 19],

[20, 21, 22, 23]]])

In [36]: for a in A:print a, '\n' # or iterate on the 1st dimension

[[0 1 2 3]

[4 5 6 7]]

[[ 8 9 10 11]

[12 13 14 15]]

[[16 17 18 19]

[20 21 22 23]]

在这个例子之后,我可以迭代文件,对每个子数组使用savetxt:In [37]: with open('3dcsv.txt','wb') as f:

for a in A:

np.savetxt(f, a, fmt='%10d')

f.write('\n')

....:

用系统cat(通过ipython)确认文件写入:In [38]: cat 3dcsv.txt

0 1 2 3

4 5 6 7

8 9 10 11

12 13 14 15

16 17 18 19

20 21 22 23

对于简单读取,loadtxt显然忽略空行,返回一个6x 4数组。所以我知道应该是(2,3,4)我可以很容易地重塑结果。In [39]: np.loadtxt('3dcsv.txt')

Out[39]:

array([[ 0., 1., 2., 3.],

[ 4., 5., 6., 7.],

[ 8., 9., 10., 11.],

[ 12., 13., 14., 15.],

[ 16., 17., 18., 19.],

[ 20., 21., 22., 23.]])

经过一点调试,我得到了这个多loadtxt工作。loadtxt(和genfromtxt)使用行列表。In [53]: A1=[] # list to collect blocks

In [54]: with open('3dcsv.txt') as f:

lines = [] # list to collect lines

while 1:

aline = f.readline()

if aline.strip():

lines.append(aline) # nonempty line

else: # empty line

if len(lines)==0: break

A1.append(np.loadtxt(lines, dtype=int))

lines = []

....:

In [55]: A1 = np.array(A1)

In [56]: A1

Out[56]:

array([[[ 0, 1, 2, 3],

[ 4, 5, 6, 7]],

[[ 8, 9, 10, 11],

[12, 13, 14, 15]],

[[16, 17, 18, 19],

[20, 21, 22, 23]]])

这可能不是save/load中最健壮的一对,但它为构建更好的架构提供了框架。

但是如果它不需要是文本,那么pickle就可以了,就像本地的numpy“save/load”一样In [57]: np.save('3dsave.npy',A)

In [58]: np.load('3dsave.npy')

Out[58]:

array([[[ 0, 1, 2, 3],

[ 4, 5, 6, 7]],

[[ 8, 9, 10, 11],

[12, 13, 14, 15]],

[[16, 17, 18, 19],

[20, 21, 22, 23]]])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431413.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 简析对象,PHP白盒审计工具RIPS源码简析

RIPS是一款对PHP源码进行风险扫描的工具,其对代码扫描的方式是常规的正则匹配,确定sink点;还是如flowdroid构建全局数据流图,并分析存储全局数据可达路径;下面就从其源码上略探一二。1、扫描流程分析其源码前&#xff…

投资股权众筹项目,至少需要关注6个方面

1.股权结构去工商局查看这个公司的股权结构,哪些人是股东,历史出资情况。工商局网站上有很多信息可以查看,我发现北京工商局网站上可以查看的信息比较全面,而上海的就很稀烂。 几个查询网站: 北京企业信用信息网 ht…

python支持gui编程_Python GUI编程完整示例

本文实例讲述了python gui编程。分享给大家供大家参考,具体如下:import osfrom time import sleepfrom tkinter import *from tkinter.messagebox import showinfoclass dirlist(object):def __init__(self, initdirnone):self.top tk()self.label lab…

左右伸缩_冬季装修为啥要留伸缩缝?等到天热地板开裂就晚了!合肥人注意下...

后台有粉丝问:冬天真的不适合做装修吗?假的,这句话不要再传了。每个季节都会有利有弊,只不过冬季施工过程中干燥的比较快,装修的时候对施工要求的更严格。就拿伸缩缝来说吧,冬天装修时不注意,等…

转折点(心得)

也许是刚开学不适应?反正就是心不静,给自己一天时间调整,马上好过来,加油!!!以后每天至少一道题,但是要是学到东西的题,加油!合理安排,有条不紊!转载于:https://www.cnbl…

php进入文件目录,php文件目录操作

新建文件1、先确定要写入文件的内容$content 你好;2、打开这个文件(系统会自动建立这个空文件)//假设新建的文件叫file.txt,而且在上级目录下。w表示‘写文件’,$fp下面要用到,表示指向某个打开的文件。$fp fopen(../file.txt, w);3、将内容…

python设计自定义栈类_Python如何自定义模块?Python基础教程,第十讲,自定义模块...

学完此次课程,我能做什么?通过此次课程,我们将学会如何自定义自己的模块和包,以及如何引用到自己的项目中,从而实现代码的复用。学习此次课程,需要多久?5-10分钟课程内容什么是Python的标准库&a…

windows.h和winsock2.h包含顺序问题(转)

windows.h和winsock2.h有类型重定义我是知道的,本来就一个库来说没问题,把winsock2放到windows.h前或先定义WIN32_LEAN_AND_MEAN都能解决问题但现的出了问题,自己写的一个库里要用到ws2tcpip,这个头文件第一个包含的头文件就是win…

java中软填空面试题,通过这9个Java面试题,就可以入职华为啦

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼1.Java程序的种类有(BCD )A.类(Class) B.Applet C.Application D.Servlet2.下列说法正确的有( BCD)A. 环境变量可在编译source code时指定B&#x…

红色警戒2修改器原理百科(七)

(十五)科技全开——前方高能,BOOM 其实这一小节,最晚应该在第四篇的十小节来讲述的,这样是按照一条线索来讲的,容易理解和把握笔者修改时的思路,以一点逐渐扩大。由于笔者的一些原因&#xff08…

python两个线程交替打印_三线程按顺序交替打印ABC的四种方法

建立三个线程A、B、C,A线程打印10次字母A,B线程打印10次字母B,C线程打印10次字母C,但是要求三个线程同时运行,并且实现交替打印,即按照ABCABCABC的顺序打印。二、Synchronized同步法1、基本思路使用同步块和wait、noti…

支付宝支付php代码示例,Laravel使用支付宝进行支付的示例代码

/*支付*/public function pay(){header("content-type:text/html;charsetutf8");//echo 1;die;// ******************************************************配置 start*******************************************************************************************…

关于开发中的常用手段(个人建议)

由于最近在一家外包公司 做项目 (团队开发 3个人) 有个朋友一起 我们研究出一套 相对来说 速度和效率都比较高的开发方法。 1. 搭建界面 对于一个程序来说 无疑刚上来就要看原型 看UI 看切图 所以界面是首要做的 那么我来说下做界面的常用方法仅个人看法…

wpf click事件在触摸屏上点击第一次没反应_你的PLC和你的触摸屏为什么总是通讯不上?...

三菱PLC全系列资料免费送啦!想要撩我(点击上方红字,免费领资料)很多师傅有以下这些问题,其实除去厂家自行定义的通讯方式外,我们在做项目的时候最常用的通讯方式,通讯不上无非就是这几个原因是否选择正确通讯协议(modb…

php索引数组相等,php二维数组中子数组的某一键相等,其余键值求和

需要处理的数组Array([0] > Array([uid] > 1[price] > 85.00[earnings] > 40.00)[1] > Array([uid] > 8[price] > 56.00[earnings] > 31.00)[2] > Array([uid] > 15[price] > 56.00[earnings] > 31.00)[3] > Array([uid] > 15[price…

ubuntu 开放端口_Masscan端口扫描工具使用小手册

1Masscan介绍1.1 Masscan简介1) nmap是端口扫描仪的合法王位,而今天仍然是最通用的选择。但对于纯粹的速度也有一些已经超越了它,包括scanrand,unicornscan,zmap,和现在的masscan(https://github.com/robertdavidgraha…

MFC类的结构

1. CObject类,MFC库中绝大部分类的基类,封装了MFC中的最基本机制。 运行时类信息机制/动态创建机制/序列化机制等。。。 2. CCmdtarget - 消息映射机制最基类 3. CWinThread/CWinApp- 应用程序类,负责整个程序的执行流程。 4. CDocment及子类…

php base64安全吗,php base64

场景:PHP 用base64兑现加密解密PHP 用base64实现加密解密php中用base64实现加密解密: base64_encode() 和 base64_decode() 进行加密和解密.语法: string base64_encode ( string data )使用 base64 对 data 进行编码。设计此种编码是为了使二进制数据可以通过…

hdu4277 暴力

hdu4277 暴力 USACO ORZ Time Limit : 5000/1500ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 4 Accepted Submission(s) : 2 Problem DescriptionLike everyone, cows enjoy variety. Their current fancy is new shapes for pastu…

多线程设置操作时间间隔_听说,有位Java程序员学完这59道多线程面试题之后,直接面上阿里...

前言多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。软件多线程&…