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

如何使用Python将JSON格式的.log文件转换为.csv文件?

解决JSON格式日志转CSV/Excel的问题

你的日志文件每行是独立的JSON对象,不是传统CSV格式,所以用read_csv按空格分隔的方式完全不适用,这就是转换失败的原因。下面提供两种可行的解决方法:

方法一:用Pandas直接读取JSON日志

Pandas的read_json支持读取每行一个JSON的格式,只需设置lines=True参数,操作最简便:

import pandas as pd

# 读取每行为JSON的日志文件
df = pd.read_json('C:/Users/admin/alert-log/alerthandlerlog/CN-prod-alert-handler-error.log', lines=True)

# 保存为CSV文件
df.to_csv('error_log.csv', index=False)

# 如果需要保存为Excel,先安装openpyxl库(执行`pip install openpyxl`),再执行:
# df.to_excel('error_log.xlsx', index=False)

方法二:逐行解析JSON(容错性更强)

如果日志中存在格式不规范的行,逐行解析可以跳过错误行,避免整个转换失败:

import json
import pandas as pd

data_list = []

# 打开日志文件逐行读取解析
with open('C:/Users/admin/alert-log/alerthandlerlog/CN-prod-alert-handler-error.log', 'r', encoding='utf-8') as log_file:
    for line_num, line in enumerate(log_file, 1):
        stripped_line = line.strip()
        if not stripped_line:
            continue
        try:
            # 解析当前行的JSON数据
            log_entry = json.loads(stripped_line)
            data_list.append(log_entry)
        except json.JSONDecodeError as e:
            print(f"第{line_num}行解析失败: {e},跳过该行")

# 将解析后的数据转为DataFrame
df = pd.DataFrame(data_list)

# 保存为CSV
df.to_csv('error_log.csv', index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 11:22:39