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

如何使用Python的XLSXWRITER排序含日期的TXT数据并转为Excel文件?

使用XlsxWriter转换TXT为Excel并按日期排序

当然可以实现,核心逻辑是先解析TXT中的日期时间、完成数据排序,再写入Excel文件,具体实现方案如下:

实现步骤

  • 读取TXT文件的每一行内容
  • 将每行中的日期时间字符串解析为datetime对象(便于排序比较)
  • 按日期时间从最新到最旧(降序)对数据排序
  • 使用XlsxWriter将排序后的数据写入Excel

代码示例

假设你的TXT文件每行格式为[日期时间] 业务内容(例如2023-10-05 14:30:00 系统启动成功),可参考以下代码:

import datetime
import xlsxwriter

# 1. 读取并解析TXT数据
data_list = []
txt_path = "your_source.txt"  # 替换为你的TXT文件路径

with open(txt_path, "r", encoding="utf-8") as f:
    for line in f:
        line = line.strip()
        if not line:
            continue
        # 拆分日期时间与内容(根据你的TXT实际格式调整拆分规则)
        dt_str, content = line.split(" ", 2)[0], line.split(" ", 2)[2]
        # 解析日期时间为datetime对象(格式需与TXT中的一致,此处示例为%Y-%m-%d %H:%M:%S)
        dt_obj = datetime.datetime.strptime(dt_str, "%Y-%m-%d %H:%M:%S")
        data_list.append( (dt_obj, content) )

# 2. 按日期时间降序排序(最新数据在前)
data_list.sort(key=lambda x: x[0], reverse=True)

# 3. 写入Excel文件
excel_path = "sorted_output.xlsx"
workbook = xlsxwriter.Workbook(excel_path)
worksheet = workbook.add_worksheet()

# 写入表头
worksheet.write("A1", "日期时间")
worksheet.write("B1", "内容")

# 写入排序后的数据
row_num = 1
for dt_obj, content in data_list:
    worksheet.write(row_num, 0, dt_obj.strftime("%Y-%m-%d %H:%M:%S"))
    worksheet.write(row_num, 1, content)
    row_num += 1

workbook.close()
print(f"排序后的Excel文件已生成:{excel_path}")

关键适配说明

  • 日期格式调整:如果TXT中的日期时间格式不同(例如MM/DD/YYYY HH:MM),需修改strptime和strftime中的格式字符串,对应Python的datetime格式码(比如%m/%d/%Y %H:%M)。
  • TXT行结构适配:若你的TXT每行不是[日期时间] 内容的结构,需调整拆分逻辑,确保能正确提取日期时间和对应内容。
  • 编码兼容:如果TXT文件使用非UTF-8编码(比如GBK),需修改open函数中的encoding参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 16:40:19