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

如何在不使用Pandas和Numpy的Python中将.log文件转为.csv?

纯Python实现无第三方库的.log转带表头.csv

直接用Python内置文件操作就能完成需求,无需依赖Pandas或Numpy:

基础实现(保留空格分隔)

如果需要和你示例中一致的空格分隔格式,用这段代码:

log_path = "your_input.log"
csv_path = "your_output.csv"

# 定义表头
header = "A  B  C  D\n"

# 读取日志文件内容
with open(log_path, 'r', encoding='utf-8') as f:
    lines = f.readlines()

# 写入CSV文件:先写表头,再追加原内容
with open(csv_path, 'w', encoding='utf-8') as f:
    f.write(header)
    f.writelines(lines)

标准CSV格式(逗号分隔)

如果需要生成通用的逗号分隔CSV(更适配Excel、Google Sheets等工具),可以修改为:

log_path = "your_input.log"
csv_path = "your_output.csv"

header = "A,B,C,D\n"

with open(log_path, 'r', encoding='utf-8') as f:
    # 将每行的空格替换为逗号
    csv_lines = [line.strip().replace(' ', ',') + '\n' for line in f]

with open(csv_path, 'w', encoding='utf-8') as f:
    f.write(header)
    f.writelines(csv_lines)

额外优化(处理多空格分隔)

如果日志文件中存在多个连续空格作为分隔符,可借助正则模块统一替换:

import re

log_path = "your_input.log"
csv_path = "your_output.csv"

header = "A,B,C,D\n"

with open(log_path, 'r', encoding='utf-8') as f:
    csv_lines = [re.sub(r'\s+', ',', line.strip()) + '\n' for line in f]

with open(csv_path, 'w', encoding='utf-8') as f:
    f.write(header)
    f.writelines(csv_lines)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 14:55:24