You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何累加CSV文件中的时间差并在控制台输出

累加CSV文件中的时间差并输出结果

问题描述

需要累加CSV文件中每行的时间差(第三列),并将总结果打印到控制台。

CSV文件内容:

16:21,06:15,10:06
22:00,23:00,01:00
20:20,21:00,00:40
20:00,22:20,01:20

现有未完成代码:

import csv

with open("time.csv") as timedata:
   total = 0
   for row in csv.reader(timedata):
   total += 

解决方案

核心思路是把时间差转换成分钟数进行累加(避免直接处理小时和分钟的进位问题),最后再将总分钟数转换回HH:MM格式输出。

完整代码如下:

import csv

with open("time.csv") as timedata:
    total_minutes = 0
    for row in csv.reader(timedata):
        # 获取每行的时间差字段(第三列,索引从0开始)
        time_diff = row[2]
        # 分割小时和分钟字符串,转换为整数
        hours, minutes = map(int, time_diff.split(':'))
        # 转换为分钟数并累加
        total_minutes += hours * 60 + minutes

# 将总分钟数转换为HH:MM格式
total_hours = total_minutes // 60
remaining_minutes = total_minutes % 60
# 格式化输出,确保小时和分钟都是两位数
print(f"总时间差:{total_hours:02d}:{remaining_minutes:02d}")

代码说明

  • 用row[2]获取每行的时间差(CSV每行是一个列表,第三列索引为2)
  • split(':')将HH:MM格式的字符串分割为小时和分钟部分,再用map(int, ...)转换为整数
  • 把小时转成分钟后和原有分钟相加,累加到总分钟数中
  • 最后通过整除和取余运算,将总分钟数转回小时和分钟,并用02d格式化保证两位数输出

内容的提问来源于stack exchange,提问作者red

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 02:25:24