import csv import json import datetime mintTable = [] nftTable = [] nftTransferTable = [] contracts = lambda : json.load(open('contract.json', 'r')) resultData = { 'nft_total': 0, 'nft_mint': 0, 'bindbox': { 'hold': 0, 'open': 0 }, 'nft_rank': [ ] } def exportMintTable(): rows = [] with open('mint.raw.csv', 'w', newline='') as f: writer = csv.writer(f) writer.writerows(rows) def exportNftTable(): rows = [] with open('nft.raw.csv', 'w', newline='') as f: writer = csv.writer(f) writer.writerows(rows) def exportNftTransferTable(): rows = [] with open('nft_transfer.raw.csv', 'w', newline='') as f: writer = csv.writer(f) writer.writerows(rows) def exportNftSumTable(): rows = [] for nft in nftTable: rows.push( ( nft['token_id'], nft['token_type'], nft['creator_address'], nft['owner_address'], nft['tags'], datetime.datetime.fromtimestamp(nft['modifytime']) ) ) with open('nft.sum.csv', 'w', newline='') as f: writer = csv.writer(f) writer.writerows(rows) def loadData(): def rowToObj(row, fields): assert(len(row) == len(fields)) obj = {} for idx in range(len(fields)): obj[fields[idx]] = row[idx] return obj def loadCsv(data, fileName, fields): with open(fileName, "r", encoding="utf-8") as f: reader = csv.reader(f) for row in reader: data.append(rowToObj(row, fields)) loadCsv(mintTable, 't_mint.txt', [ 'idx', 'unikey', 'account', 'game_id', 'ignore', 'bc_minted', 'bc_mint_txhash', 'bc_mint_itemid', 'bc_mint_tokenid', 'bc_mint_token_type', 'bc_mint_tags', 'bc_mint_count', 'bc_mint_time', 'bc_mint_prepare_block_number', 'bc_mint_success_block_number', 'bc_mint_confirm_time', 'suspend', 'suspend_reason', 'done', 'createtime', 'modifytime' ]) loadCsv(nftTable, 't_nft.txt', [ 'idx', 'owner_address', 'creator_address', 'token_id', 'token_type', 'token_state', 'game_id', 'item_id', 'deleted', 'opened', 'confirm_count', 'confirm_block_number', 'rand_attr', 'tags', 'createtime', 'modifytime' ]) loadCsv(nftTable, 't_nft_transfer.txt', [ 'idx', 'token_id', 'txhash', 'block_number', 'log_index', '_from', '_to', 'raw_data', 'owner_confirmed', 'createtime', 'modifytime' ]) print('hello')