python读取txt每行中分隔符内容_python – 使np.loadtxt与多个可能的分隔符一起使用...

np.loadtxt(和genfromtxt)接受任何iterable作为输入,只要它一次输入一行.因此,文件的行可以通过以各种方式对其进行按摩的函数或生成器传递.这是一个简单的例子

定义一对模拟文件的行:

In [7]: txt="""10:34:24.58 8.284 6.121

...: 10 34 24.58 8.284 6.121

...: """

In [8]: txt=txt.splitlines()

In [9]: txt

Out[9]: ['10:34:24.58 8.284 6.121', '10 34 24.58 8.284 6.121']

如果它不是:我可以直接将它传递给loadtxt.

但是让我们通过生成器传递线条,用空格替换’:’.它可能是一个函数(有收益率).在这里,我正在使用其中一个新的生成器理解表达式:

In [10]: np.loadtxt((x.replace(b':',b' ') for x in txt))

Out[10]:

array([[ 10. , 34. , 24.58 , 8.284, 6.121],

[ 10. , 34. , 24.58 , 8.284, 6.121]])

使用文件,这应该工作(迭代打开文件返回行):

with open(filename) as f:

A=np.loadtxt((x.replace(b':',b' ') for x in f))

正则表达式可用于更精细的替换.


版权声明:本文为weixin_39627144原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。