python : 将txt文件中的数据读为numpy数组或列表

     很多时候,我们将数据存在txt或者csv格式的文件里,最后再用python读取出来,存到数组或者列表里,再做相应计算。本文首先介绍写入txt的方法,再根据不同的需求(存为数组还是list),介绍从txt读取浮点数的方法。

一、写入浮点数到txt文件:

     假设每次有两个浮点数需要写入txt文件,这里提供用with关键字打开文件的方法,使用with打开文件是一个很好的习惯,因为with结束,它就会自动close file,不用手动再去flie.close()。

with open('file_path/filename.txt','a') as file:
    write_str = '%f %f\n'%(float_data1,float_data2)
    file.write(write_str)

二、从txt文件提取浮点数到numpy数组或list列表

    首先假设你有一个odom.txt 的文件,里面每一行的数据个数都相同,如截图所示:


      1.如果你是想把这些数据读取出来,存为numpy数组,那么一句代码可以搞定:

a = numpy.loadtxt('odom.txt')

存为numpy数组以后,a的尺寸可以用a.shape进行查看,这里应为:(14,2)也就是14行2列。如果你觉得这个形状不是你期待的,你可以用:

b = numpy.reshape(a,(你想要的形状))
如
b = numpy.reshape(a,(-1,1,2))
那么b就是一个三维数组了(14,1,2)

       2.如果只是想读出来,存到一个list里,那就用下面的常用python格式了:

with open('odom.txt', 'r') as f:
    data = f.readlines()  #txt中所有字符串读入data

    for line in data:
        odom = line.split()        #将单个数据分隔开存好
        numbers_float = map(float, odom) #转化为浮点数
        print numbers_float



参考:

1.txt读取文件beginner tutorial

2.stackoverflow answer

  • 57
    点赞
  • 177
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值