我想使用 python 将 .log 文件转换为 .csv 文件

问题描述 投票:0回答:1

我已经给出了一个 alert-handler-error.log 文件来对错误发生进行分析。最初我必须将 .log 文件转换为 CSV 或 excel 文件才能在数据可视化工具中打开它。

{“级别”:“错误”,“时间戳”:“2023-02-03T19:38:10.141Z”,“记录器”:“kafkajs”,“消息”:“[连接]响应心跳(键:12, version: 3)","broker":"64.227.156.112:9092","clientId":"chiefnet-client","error":"组正在重新平衡,因此需要重新加入","correlationId":51 ,“尺寸”:10} {“级别”:“错误”,“时间戳”:“2023-02-03T19:38:10.145Z”,“记录器”:“kafkajs”,“消息”:[连接]响应心跳(键:12,版本: 3)","broker":"64.227.156.112:9092","clientId":"chiefnet-client","error":"组正在重新平衡,因此需要重新加入","correlationId":52, “大小”:10} {“级别”:“错误”,“时间戳”:“2023-02-03T19:38:10.147Z”,“记录器”:“kafkajs”,“消息”:“[连接]响应心跳(键:12,版本: 3)","broker":"64.227.156.112:9092","clientId":"chiefnet-client","error":"组正在重新平衡,因此需要重新加入","correlationId":53, “大小”:10}

我尝试阅读这些行并使用以下代码进行转换 将熊猫导入为 pd df = pd.read_csv('C:/Users/admin/alert-log/alerthandlerlog/CN-prod-alert-handler-error.log',sep='\s\s+',engine = 'python') df.to_csv('my_file.csv',index = None)

我不知道要实现这个

python dataframe data-analysis logfile
1个回答
1
投票

我假设你想要一个数据框,其中每个唯一键作为标题项,给你:

进口:

import re
import json
import pandas as pd

获取JSON对象:

如果您已经将它们列在列表中,请跳过此部分

txt = ""
with open('alert-handler-error.log', 'r') as file:
    txt = file.read()
list_of_jsons = []
for match in re.findall(r"(\{.+\})", txt):
  j = json.loads(match)
  list_of_jsons.append(j)

使用您的 JSON 对象列表来初始化您的数据框

df = pd.DataFrame.from_records(jsons)
df.to_csv("my_file.csv",index = None)

结果:

© www.soinside.com 2019 - 2024. All rights reserved.