以下是一个示例代码,将一个字典列表按国家汇总值,并将结果返回为CSV文件。
import csv
def sum_by_country(data):
# 创建一个空字典,用于存储按国家汇总的值
country_totals = {}
# 遍历数据列表
for item in data:
# 获取当前数据项的国家和值
country = item['country']
value = item['value']
# 如果国家不存在于字典中,则创建一个键值对,并将值设为当前值
if country not in country_totals:
country_totals[country] = value
# 否则,将当前值加到已有的值上
else:
country_totals[country] += value
# 将汇总结果保存为CSV文件
with open('country_totals.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['Country', 'Total']) # 写入表头
# 遍历字典,写入每个国家和对应的总值
for country, total in country_totals.items():
writer.writerow([country, total])
# 示例数据
data = [
{'country': 'China', 'value': 10},
{'country': 'China', 'value': 20},
{'country': 'USA', 'value': 15},
{'country': 'USA', 'value': 25},
{'country': 'Japan', 'value': 5},
{'country': 'Japan', 'value': 10},
]
# 调用函数进行汇总并保存为CSV文件
sum_by_country(data)
运行这段代码后,会生成一个名为country_totals.csv
的CSV文件,其中包含了按国家汇总的值。文件内容如下:
Country,Total
China,30
USA,40
Japan,15
请注意,这只是一个示例代码,你可以根据自己的需求进行修改和扩展。
上一篇:按国家和设备分组的平均每月订单数
下一篇:按国家进行分组,使用桥接表。