我有一个如下所示的文件:
@ junk
...
@ junk
1.0 -100.102487081243
1.1 -100.102497023421
... ...
3.0 -100.102473082342
&
@ junk
...
我只对@
和&
字符之间给出的两列数字感兴趣。这些字符可能出现在文件中的任何其他位置,但绝不会出现在数字块内。
我想创建两个列表,一个带有第一列,一个带有第二列。
List1 = [1.0, 1.1,..., 3.0]
List2 = [-100.102487081243, -100.102497023421,..., -100.102473082342]
我一直在使用 shell 脚本为这些文件准备一个更简单的生成列表的 Python 脚本,但是,我正在尝试将这些进程迁移到 Python 以获得更一致的应用程序。有任何想法吗?我在 Python 和文件处理方面的经验有限。
编辑:我应该提一下,这个数字块出现在文件的两个地方。两个数字块是相同的。
Edit2:一般功能对此最满意,因为我会将其放入自定义库中。
目前的努力
我目前使用 shell 脚本将除数字块之外的所有内容修剪成两个单独的列。从那里使用以下功能对我来说是微不足道的
def ReadLL(infile):
List = open(infile).read().splitlines()
intL = [int(i) for i in List]
return intL
通过从我的主要调用它
import sys
import eLIBc
infile = sys.argv[1]
sList = eLIBc.ReadLL(infile)
问题是知道如何使用 Python 从原始文件中提取数字块,而不是使用 shell 脚本。