zoukankan      html  css  js  c++  java
  • 2-10 读写文件

    In [2]:
    import numpy as np
    
    In [3]:
    %%writefile tang1.txt
    1 2 3 4 5 6
    2 3 4 5 6 7
    
     
    Overwriting tang1.txt
    
     

    从文件里读取数据,再转换成np.array的结构

    In [4]:
    data=[]
    with open('tang1.txt')as f:
         for line in f:
            fileds=line.split()#默认空格切分
            cur_data=[float(x) for x in fileds]
            data.append(cur_data)
    data=np.array(data)
    data
    
    Out[4]:
    array([[1., 2., 3., 4., 5., 6.],
           [2., 3., 4., 5., 6., 7.]])
     

    简写的方式

    In [5]:
    data=np.loadtxt('tang1.txt')
    data
    
    Out[5]:
    array([[1., 2., 3., 4., 5., 6.],
           [2., 3., 4., 5., 6., 7.]])
     

    写入的数据默认空格为分隔符,如果不是则需要delimiter=' ',指定一下对应的分隔符

    In [6]:
    %%writefile tang2.txt
    1,2,3,4,5,6
    2,3,4,5,6,7
    
     
    Overwriting tang2.txt
    
    In [7]:
    data=np.loadtxt('tang2.txt',delimiter=',')
    data
    
    Out[7]:
    array([[1., 2., 3., 4., 5., 6.],
           [2., 3., 4., 5., 6., 7.]])
    In [8]:
    %%writefile tang3.txt
    x,y,z,w,a,b
    1,2,3,4,5,6
    2,3,4,5,6,7
    
     
    Overwriting tang3.txt
    
    In [9]:
    data=np.loadtxt('tang2.txt',delimiter=',',skiprows=1)
    data
    
    Out[9]:
    array([2., 3., 4., 5., 6., 7.])
     
    • 'tang3.txt':路径最好放到和代码一起
    • skiprows:去掉几行
    • delimiter=',':分隔符
    • usecols=(0,1,4):指定使用哪几列
     

    写入到新文件里

    In [25]:
    tang_array=np.array([[1,2,3],[4,5,6]])
    np.savetxt('tang4.txt',tang_array)#保存模式是科学计数法
    
    In [26]:
    np.savetxt('tang4.txt',tang_array,fmt='%d')#保存整数模式
    
    In [27]:
    np.savetxt('tang4.txt',tang_array,fmt='%d',delimiter=',')##以,为分隔符
    
    In [30]:
    np.savetxt('tang4.txt',tang_array,fmt='%.2f',delimiter=',')#有2位的浮点数
    
     

    读写array结构

    In [39]:
    tang_array=np.array([[1,2,3],[4,5,6]])
    np.save('tang_array.npy',tang_array)#保存np.array的数据结构
    
    In [40]:
    tang=np.load('tang_array.npy')
    tang
    
    Out[40]:
    array([[1, 2, 3],
           [4, 5, 6]])
    In [41]:
    tang_array2=np.arange(10)
    tang_array2
    
    Out[41]:
    array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
    In [42]:
    np.savez('tang.npz',a=tang_array,b=tang_array2)#保存为压缩文件
    
    In [43]:
    data=np.load('tang.npz')
    
    In [48]:
    data.keys()
    
    Out[48]:
    KeysView(<numpy.lib.npyio.NpzFile object at 0x0000000005362D30>)
    In [45]:
    data['a']
    
    Out[45]:
    array([[1, 2, 3],
           [4, 5, 6]])
    In [46]:
    data['b']
    
    Out[46]:
    array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
  • 相关阅读:
    spring @Primary-在spring中的使用(十九)
    Java中lombok @Builder注解使用详解(十八)
    Spring Boot的MyBatis注解:@MapperScan和@Mapper(十七)
    js基础只是总结-语句
    js基础知识-数据类型
    启动redis服务报错Creating Server TCP listening socket *:6379: bind: Address already in use [duplicate]
    gitlab 配置SSH和ACCESS TOKEN
    https nginx配置
    Vue和React区别
    深入虚拟DOM和DOM-diff
  • 原文地址:https://www.cnblogs.com/AI-robort/p/11627188.html
Copyright © 2011-2022 走看看