我建议对此使用dictionary,其中键表示帐号。在import csv
def csv_data(path):
accounts = {} # storage of the account balances
with open(path) as csv_file:
readCSV = csv.DictReader(csv_file)
for line in readCSV:
account_from = int(line['from'])
account_to = int(line['to'])
transaction_amount = float(line['amount'])
# subtract from old account
if account_from in accounts:
accounts[account_from] -= transaction_amount
else:
accounts[account_from] = (0-transaction_amount)
# add to new account
if account_to in accounts:
accounts[account_to] += transaction_amount
else:
accounts[account_to] = transaction_amount
for account in accounts:
print("{}: \t{}".format(account, accounts[account]))
csv_data('transactions.csv')
其输出如下:
^{pr2}$
请注意,事务处理应该始终遵循ACID-Properties。在