zoukankan      html  css  js  c++  java
  • 利用数组的的文件输入输出

    利用数组的文件输入输出

    1. 将数组以二进制格式保存到磁盘

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

    import numpy as np
    arr=np.arange(10)
    np.save('some_array',arr)

    如果文件路径末尾没有扩展名.npy,则该扩展名会自动加上。然后就可以通过np.load读取磁盘上数组:

    print(np.load('some_array.npy'))
    #输出[0 1 2 3 4 5 6 7 8 9]

    为了方便看到文件生成所以使用的是pycharm编写,需要注意的是使用np.load传入的文件名必须带后缀.npy;通过np.savez可以将多个数组保存到一个压缩文件中,将数组以关键字参数的形式传入即可。

    np.savez('array_archive.npz',a=arr,b=arr)

    加载.npz文件时,会得到一个类似字典的对象,该对象将各个数组进行延迟加载:

    arch=np.load('array_archive.npz')
    print(arch['b'])
    #结果[0 1 2 3 4 5 6 7 8 9]

     2.存取文本文件

    从文件中加载文本是一个非常标准的任务。我们需要用np.loadtxt或更专门化的np.genfromtxt将数据加载到普通的numpy数组中。

    这些函数都有许多选项可以使用:指定各种分隔符、针对特定列的转换器函数、需要跳过的行数等。

    arr=np.array([[1,2,3],[2,3,4],[3,4,5]])
    np.savetxt('array_ex.txt',X=arr,delimiter=',')

    将会生成一个文本array_ex.txt文件,相反执行np.loadtxt可以能读取文本

    print(np.loadtxt('array_ex.txt',delimiter=','))
    #返回结果:
    [[1. 2. 3.]
     [2. 3. 4.]
     [3. 4. 5.]]
  • 相关阅读:
    日期类的时间从为什么是从1970年1月1日(格林威治时间)
    网站缓存技术总结( ehcache、memcache、redis对比)
    干货|java缓存技术详解
    TCP和UDP的区别(转)
    form表单转换为Json字符串数据
    JSON.parse 和 JSON.stringify
    Navicat连接Oracle的几个问题及解决方案
    Python IO编程
    python阶段总结一
    使用git进行版本控制
  • 原文地址:https://www.cnblogs.com/catxjd/p/9975685.html
Copyright © 2011-2022 走看看