在显示的每个ID的以下file.txt
中,我需要检查为ID找到货币的次数。我怎么能这样做?
file.txt的
ID101\tbill is $200
ID101\tyour bill
ID101\t $200 again
ID101\t$100 is the generated amount
ID101\t$50 is your amount
ID101\t$74 is the amount
ID102\tNo bill
ID102\tbill is $75
ID103\t$65 is your bill
ID103\tno bill
码
f=open("file.txt")
arr=[]
count = 0
for l in f:
col = 0
for i in l.split("\t"):
if col == 0:
if i not in arr: //tocheck whether it is a new id or not
arr.append(i)
if col == 1:
if "$" in i:
count += 1
col += 1
如何检查每个ID的计数?
答案 0 :(得分:0)
你会爱defaultdict
s:
from collections import defaultdict
counts = defaultdict(int)
with open("file.txt") as f:
for line in f:
id, content = line.split("\\t")
if "$" in content:
counts[id] += 1
请注意,这将完全忽略id
s,其中一行不包含$
符号。
答案 1 :(得分:0)
file = open('file.txt')
ids = {}
for line in file:
if line.find('$') > -1:
line_array = line.split("\t")
id = line_array[0]
if not ids.has_key(id):
ids[id] = 0
ids[id] += 1
for k in ids:
print k + ': ' + str(ids[k])