Python读取CSV按月份筛选后合并单行列总和为总合计的实现问题
计算指定月度消费总合计的实现方法
可以实现,只需要新增一个累计变量存储单行总和的累加值即可,修改后的代码如下:
注:代码默认你已经正确导入
csv和datetime模块,month1为用户输入的目标月份数值
import csv from datetime import datetime # 原有的用户输入月份逻辑,补全方便直接运行 month1 = int(input("Enter selected month number: ")) month_name = datetime.strptime(str(month1), "%m").strftime("%B") print(f"Selected Month is: {month_name}") # 新增总合计变量,初始值为0 total_sum = 0 with open("expenses.csv") as read_exp: reader = csv.reader(read_exp, delimiter=',') header = next(reader) if header != None: for row in reader: month_str = row[0] month_dt= datetime.strptime(month_str, '%d/%m/%Y').month if month_dt == month1: sum1 = sum(map(int,row[2:7])) # 把单行消费和累加到总合计中 total_sum += sum1 print(sum1) # 输出最终总合计 print(f"当月消费总合计:{total_sum}")
效果示例
以你输入7月为例,运行后输出结果如下:
Enter selected month number: 7 Selected Month is: July 15 26 7 23 21 19 30 当月消费总合计:141
内容的提问来源于stack exchange,提问作者user17024660
相关产品推荐
相关产品推荐

