utxo-to-address-balance

 根据chainstate内的utxo记录(格式为:balance,address)得到所有address的balance记录

# -*- coding:utf-8 -*-
'''
@author: user
'''
import os, sys
import logging

reload(sys)  
# sys.setdefaultencoding('utf8')


def dev(filepath,dest):
    dict_ad = {}
    with open(filepath , 'r') as f:
        cont = f.readline().strip()
        while cont:
            arr = cont.split(' ')
            bal = arr[0].strip()
            addr = arr[1].strip()
            #print(addr+"|"+str(bal))
            if dict_ad.has_key(addr):
                dict_ad[addr] = int(dict_ad[addr]) + int(bal)
            else:
                dict_ad[addr]=int(bal)
            cont  =f.readline().strip()
        for (k,v) in dict_ad.items():
            addr=k
            bal = v
            with open(dest,'a+') as dt:
                dt.write(addr+"|"+str(bal)+"\n")
                
            #print "dict[%s]=%s" %(k,v)


if __name__ == '__main__':
    filepath = 'd:/data/test/all.csv'
    dest='d:/data/test/result.csv'
    dev(filepath,dest)