python读取txt到数组中_Python读写NumPy数组类型数据Python的NumPy模块中内嵌了读取和写⼊NumPy array 类型的数据。这两种⽅法是:loadtxt和savetxt。下⾯将分别介绍这两种⽅法:loadtxt
例如我们有有个名为test_load.dat的⽂件,其⽂件内容如下:
# comment
1 1 0.00000000 0.00000000 0.00000000
2 4 1.79750000 1.79750000 0.00000000
3 2 0.00000000 1.79750000 1.79750000
4 3 1.79750000 0.00000000 1.79750000
5 4 3.59500000 0.00000000 0.00000000
6 1 5.39250000 1.79750000 0.00000000
7 1 3.59500000 1.79750000 1.79750000
8 3 5.39250000 0.00000000 1.79750000
9 1 7.19000000 0.00000000 0.00000000
10 2 8.98750000 1.79750000 0.00000000
python怎么读取dat文件我们可以loadtxt读取test_load.dat⽂件并对数据进⾏操作。
import numpy as np
data = np.loadtxt('test_load.dat', comments='#', skiprows=10, usecols=(0,2,4) )
上⾯代码的内容将读取test_load.dat⽂件的第1,3和5列。以'#'开头的⾏为注释部分不读取。skiprows指定多少⾏不读取。如果⽂件的数据不是空格隔开的,⽽是⽤其他符号(例如';')隔开的那么我们可以使⽤delimiter对分隔符进⾏指定(delimiter=';')。如果我们只想读取第三列和第四列并且存储到不同的变量,我们可以使⽤下⾯的代码:
import numpy as np
x , y = np.loadtxt('test_load.dat',usecols=(2,3), unpack=True)
2. savetxt
与loadtxt的功能互补,savetxt的作⽤是对数据进⾏写⼊。例如我们已经从上⾯的例⼦中得到了⼀维数组x和y,现在我们介绍怎么把x和y存⼊test_save.dat⽂件中。使⽤⽅法如下:
import numpy as np
atenate((x,y),axis=1) # Both x and y
np.savetxt('test_save.dat', xy, header = my_header, fmt='%15.10f %20.8f', comments='#')
上⾯代码的功能是⾸先将x和y按⾏的顺序进⾏合并成两列数据;之后,将合并的数据写进testsave.dat中fmt指定了数据的存储格式;comments是将会写在my_head字符串前⾯的注释符,my_header字符串的内容将写在⽂件的最开头。
⼩结:
本篇短⽂介绍了⽤NumPy模块⾃带的loadtxt和savetxt⽅法对数据⽂件进⾏处理。本⼈在学习过程中数据处理的地⽅只⽤到了这两个⽅法,⽤起来很⽅便。对于这两个⽅法的详细使⽤情况还需参考NumPy的官⽅⽂档。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论