python - 使用 Python 解析逗号分隔文件并添加货币字段

标签 python field csv

我正在尝试使用 Python 来解析一个逗号分隔的文件,其布局与此类似:

AccountNumber,Invoice_Number,Gross_Amt,Adjustments,TotalDue

"234","56787","19.37",,"19.37"
"234","56788","204.76","-10.00","194.76"
"234","56789","139.77",,"139.77"
"567","12543","44.89","30.00","74.89"

我想要完成的是合计总金额、调整和总应付金额,然后将它们添加到每行的末尾(或仅添加到每个文档的最后一行)。

我的问题是如何创建一个变量,只要帐号相同就只添加字段?例如用英语我会说:

检查帐号:当帐号等于上一行的帐号时,在每一行添加 Gross_amt,然后当帐号更改时,将 gross_amt 字段的总和作为新字段追加到最后一行的末尾帐户为 Gross_Amt_Total。重新开始。

最佳答案

你可以使用 itertools.groupby() :

import csv
from itertools import groupby
from operator import itemgetter

with open("data.csv", "rb") as f:
    next(f)    # Skip header
    for account, lines in groupby(csv.reader(f), itemgetter(0)):
        gross_amount = 0.
        for line in lines:
            print line
            gross_amount += float(line[2])
        print "The total gross amount for account", account, "is", gross_amount

关于python - 使用 Python 解析逗号分隔文件并添加货币字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4986523/

相关文章:

python - Django - 确定传递给模板标签的变量的字段类型

php - yii2 ActiveForm 字段占位符

python - 将每个表写入 csv,后跟标题

python - 并行修改切片中的 3D numpy 数组

python - 可以存储在内存中的函数

C++ 相当于 Python getattr

java - 更快地读取文件

python - Python中的 'is'关键字是如何实现的?

javascript - SharePoint - 使用 JavaScript 在应用过滤器后获取列表项

php - 确保 fgetcsv() 读取整行