我已经给出了一个 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)
我不知道要实现这个
我假设你想要一个数据框,其中每个唯一键作为标题项,给你:
import re
import json
import pandas as pd
如果您已经将它们列在列表中,请跳过此部分
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)
df = pd.DataFrame.from_records(jsons)
df.to_csv("my_file.csv",index = None)