<p>我建议对此使用<a href="https://docs.python.org/2/tutorial/datastructures.html#dictionaries" rel="nofollow noreferrer">dictionary</a>,其中键表示帐号。在</p>
<pre><code>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')
</code></pre>
<p>其输出如下:</p>
^{pr2}$
<p>请注意,事务处理应该始终遵循<a href="https://en.wikipedia.org/wiki/ACID" rel="nofollow noreferrer">ACID-Properties</a>。在</p>