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

如何用Python循环拆分文本文件中的代码与时分数据为列表项?

问题描述

我有一个名为“1011.txt”的文本文件,内容如下:

1011 7:30
1011 14:25
1011 8:00
1011 18:20
1011 7:45
1011 17:21

需要将其导入Python文件,已使用read()和splitlines()方法转为列表(必须采用此方式)。现在要通过循环拆分其中的“代码”(即“1011”)和后续的工作时间,同时拆分小时与分钟,将它们转为列表中的独立项。目前我的代码如下:

r1 = open("1011.txt")

l1 = r1.read().splitlines()
print(l1)
for hours in range(len(l1)):
    print ((l1[hours]))
r1.close()
解决方案

你可以在循环中对每一行文本进行多层拆分,最终整理成目标结构,优化后的代码如下:

r1 = open("1011.txt")

l1 = r1.read().splitlines()
# 存储最终拆分后的所有数据
final_data = []
for line in l1:
    # 第一步:按空格拆分,分离代码和时间字符串
    code, time_str = line.split()
    # 第二步:按冒号拆分时间,转成整数方便后续处理
    hour, minute = map(int, time_str.split(':'))
    # 将拆分后的项组成列表,加入结果集
    split_item = [code, hour, minute]
    final_data.append(split_item)
    # 实时打印单条拆分结果
    print(split_item)

r1.close()
# 查看全部整理好的数据
print("最终拆分结果:", final_data)

代码说明

  • 直接遍历l1中的每一行(for line in l1),比用range(len(l1))更简洁易读
  • split()默认按空格拆分,一行文本会被拆成「代码」和「时间字符串」两个元素
  • map(int, time_str.split(':'))可以快速把拆分后的小时、分钟字符串转为整数,方便后续做时间计算、排序等操作
  • 最终的final_data列表中,每个元素都是[代码, 小时, 分钟]的结构,满足你要的独立项需求

如果想避免手动关闭文件的问题,推荐使用with语句自动管理文件资源,改写后的代码如下:

final_data = []
with open("1011.txt") as r1:
    l1 = r1.read().splitlines()
    for line in l1:
        code, time_str = line.split()
        hour, minute = map(int, time_str.split(':'))
        final_data.append([code, hour, minute])
        print([code, hour, minute])

print("最终拆分结果:", final_data)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 00:09:22