【发布时间】:2015-01-28 04:27:41
【问题描述】:
def prodInfo():
from collections import Counter
prodHolder = {}
tempdict = {}
try:
os.chdir(copyProd)
for root, dirs, files in os.walk('.'):
for data in files:
fullpath = os.path.join(root, data)
with open(fullpath, 'rt') as fp:
for info in fp:
info = info.strip()
if info.startswith('prodType'):
info0 = info.split('=')[1]
info0 = info0.replace(';','')
info0 = info0.replace('"','')
if info.startswith('acq'):
info1 = info.split('=')[1]
info1 = info1.replace(';','')
info1 = info1.replace('"','')
if info.startswith('ID_num'):
info2 = info.split('=')[1]
info2 = info2.replace(';','')
info2 = info2.replace('"','')
print info0 + info1 + info2
产生这个结果:
SD Acq645467 356788
SD Acq645467 356788
SD Acq645467 356788
SD Acq645467 356788
SD Acq645467 356788
SD Acq645467 356788
SD Acq645467 356788
SD Acq645467 356788
SD Acq645467 356788
Image Acq645467 356788
Image Acq645467 356788
Image Acq645467 356788
Image Acq645467 356788
SD Acq644869 356849
SD Acq644869 356849
Image Acq644869 356849
SD Acq644247 356851
SD Acq644247 356851
Image Acq644247 356851
我想存储结果并能够计算每个特定 ID 号 (356788/356849/356851) 出现“SD”的次数以及每个 ID 号有多少“图像”。
结果如下:
9 - SD / 4 - 356788 的图像
2 - SD / 1 - 356849 的图像
2 - SD / 1 - 356851 的图像
虽然我最好将项目存储在字典中但无法成功计算值。这是我用来将信息存储在字典中的代码。
prodHolder[info2] = {'SD/Image': info0, 'Acq' : info1}
total_Acq = prodHolder
print prodHolder
结果是:
{'356788': {'SD/Image': 'SD', 'Acq': Acq645467'}} ...
每次运行该函数时,都会输入一组不同的值,从而产生不同的结果。
【问题讨论】:
标签: python dictionary counting