Python从文本文件中提取特定数字

时间:2015-02-07 07:47:34

标签: python

我有一个文本文件,在文本文件中是二进制数字,如35F,1,0,1,0,0。我希望Python找到一个特定的组合,但首先在前面有一个学位数。

我希望Python做的是在此示例35F中跳过该度数F,并且只搜索1,0,1,0,0的所有二进制组合。所以输出应该看起来像这样

28F 1,0,1,0,0
15F 1,0,1,0,0
18F 1,0,1,0,0
20F 1,0,1,0,0
22F 1,0,1,0,0

此刻我有这个代码。唯一的问题是我无法搜索我自己的特定组合,它只能告诉我有多少重复项。

import collections


with open('pythonbigDATA.txt') as infile:
    counts = collections.Counter(l.strip() for l in infile)
for line, count in counts.most_common():
    print count

2 个答案:

答案 0 :(得分:3)

有几种方法,这似乎是最简单的方法:

import csv

combination = '1,0,1,0,0'.split(',')

with open('pythonbigDATA.txt') as infile:
    for row in csv.reader(infile):
        if row[1:] == combination:
            print row[0], ','.join(row[1:])

答案 1 :(得分:0)

如果所有行都显示为00F 0,0,0,0,0,则可以使用str.split()并将该部分保留在第一个空格之后。

counts = collections.Counter(l.split()[1] for l in infile)

编辑:如果没有空格,您也可以使用split(),输入如下所示:00F,0,0,0,0,0

counts = collections.Counter(l.split(',',1)[1] for l in infile)