文件test7-10.csv以CSV文件格式存储了若干商品销售数据,字段名依次为:编号、商品名称、单价、数量,每种商品有多条记录(记录自行编辑)。编写一个程序,汇总每种商品的销售总量和总金额,按编号排序后,写入CSV文件test7-10-2.csv,写入字段名依次为:编号、商品名称、总数量、总金额。
时间: 2024-02-03 08:02:23 浏览: 166
下面是一个Python程序,可以从CSV文件中读取商品销售数据并汇总每种商品的销售总量和总金额,最后按编号排序写入CSV文件:
```python
import csv
# 读取CSV文件并汇总销售数据
def summarize_sales(filename):
sales = {}
with open(filename, 'r') as f:
reader = csv.reader(f)
for row in reader:
id, name, price, quantity = row
if id not in sales:
sales[id] = {'name': name, 'quantity': 0, 'amount': 0}
sales[id]['quantity'] += int(quantity)
sales[id]['amount'] += float(price) * int(quantity)
return sales
# 将销售数据写入CSV文件
def write_sales(filename, sales):
with open(filename, 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['编号', '商品名称', '总数量', '总金额'])
for id in sorted(sales):
name = sales[id]['name']
quantity = sales[id]['quantity']
amount = sales[id]['amount']
writer.writerow([id, name, quantity, amount])
# 读取CSV文件并汇总销售数据
sales = summarize_sales('test7-10.csv')
# 将销售数据按编号排序并写入CSV文件
write_sales('test7-10-2.csv', sales)
```
程序首先定义了两个函数,`summarize_sales()`函数用于读取CSV文件并汇总每种商品的销售总量和总金额,`write_sales()`函数用于将汇总结果按编号排序后写入CSV文件。
然后,程序读取CSV文件中的销售数据并调用`summarize_sales()`函数汇总销售数据。最后,程序调用`write_sales()`函数将汇总结果按编号排序后写入CSV文件`test7-10-2.csv`。
阅读全文