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

如何计算TXT文件第二列最后7个值总和?Python代码失效求助

问题:计算TXT文件第二列最后7个值的总和/平均值

你的目标TXT文件内容:

08/12/2023 81.3 
09/12/2023 80.8 
10/12/2023 80.9 
11/12/2023 81.0 
12/12/2023 81.1 
13/12/2023 81.5 
14/12/2023 80.1 
15/12/2023 81.0 
16/12/2023 80.9 
17/12/2023 80.6

需求是文件更新后,计算第二列最后7个值的总和(你代码里写的是求平均值,以下代码同时支持两种计算)。你当前代码的核心问题是:第二次读取文件时遍历了全部行的数值求和,而非仅取最后7行,且重复打开文件完全没必要。

修正后的代码:

total = 0
count = 7

with open('/storage/emulated/0/Python/lista.txt','r') as f:
    # 读取所有非空行,避免文件末尾空行引发错误
    all_lines = [line.strip() for line in f if line.strip()]
    # 截取最后7行
    target_lines = all_lines[-count:]
    
    # 打印目标行(可选)
    for line in target_lines:
        print(line)
    
    # 累加第二列数值
    for line in target_lines:
        total += float(line.split()[1])

# 输出结果
print(f"最后7个值的总和:{total}")
print(f"最后7个值的平均值:{total / count}")

核心改进:

  • 单次读取文件,减少IO操作,提升效率
  • 过滤空行,避免因文件格式问题导致split()或索引报错
  • 直接对最后7行进行计算,精准匹配需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 04:20:15