从日志文件中解析文本和 JSON 并将它们保存在一起

2024-03-07

我有一个包含文本字符串和 json 的 .log 文件。例如:

A whole bunch of irrelevant text
2022-12-15 12:45:06, run: 1, user: james json:
[{"value": "30", "error": "8"}]
2022-12-15 12:47:36, run: 2, user: kelly json:
[{"value": "15", "error": "3"}]
More irrelevant text

我的目标是提取 json,但将其与前面的文本配对,以便将两者联系在一起。指示新部分开始的关键字是run。但是,如下例所示,我需要从同一行中提取时间戳run出现。表示节结束的字符是].

我的目标是将这段文本解析为 pandas 数据框,如下所示:

timestamp              run   user     value    error
2022-12-15 12:45:06    1     james    30       5
2022-12-15 12:47:36    2     kelly    15       8

Try:

import re
import pandas as pd

pat = re.compile(
    r"(?ms)^([^,\n]+),\s*run:\s*(\S+),\s*user:\s*(.*?)\s*json:\n(.*?)$"
)

all_data = []
with open("your_file.txt", "r") as f_in:
    for timestamp, run, user, json_line in pat.findall(f_in.read()):
        json_line = json.loads(json_line)
        all_data.append(
            {
                "timestamp": timestamp,
                "run": run,
                "user": user,
                "value": json_line[0]["value"],
                "error": json_line[0]["error"],
            }
        )

df = pd.DataFrame(all_data)
print(df)

Prints:

             timestamp run   user  value  error
0  2022-12-15 12:45:06   1  james     30      5
1  2022-12-15 12:47:36   2  kelly     15      8
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从日志文件中解析文本和 JSON 并将它们保存在一起 的相关文章

  • 有什么好的适用于 Google App Engine 应用程序的 AJAX 框架吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试在我的 Google App Engine 应用程序中实现 AJAX 因此我正在寻找一个好的
  • 使用ideone时如何传入命令行参数?

    我正在使用 ideone 在线解释器 http ideone com http ideone com 来测试一些 C 和 Python 程序 如何指定命令行参数而不是使用 STDIN 输入 看起来你不能 但是快速破解应该做的伎俩 stati
  • 在多核上运行 python 线程

    我知道Python 2 7不允许在不同的内核上运行多个线程 你需要使用multiprocessing模块以实现某种程度的并发性 我正在看concurrent futuresPython 3 4 中的模块 是否使用ThreadPoolExec
  • Asyncio:从未检索到任务异常的怪异

    假设我有一个简单的代码 import asyncio async def exc print 1 0 loop asyncio get event loop loop create task exc try loop run forever
  • cxfreeze virtualenv 中缺少 distutils 模块

    从 python3 2 项目运行 cxfreeze 二进制文件时 我收到以下运行时错误 project dist project distutils init py 13 UserWarning The virtualenv distuti
  • Python FTP下载550错误

    我编写了一个 ftp 爬虫来下载特定文件 它会一直工作 直到找到要下载的特定文件 然后抛出此错误 ftplib error perm 550 该文件存在于我的下载文件夹中 但文件大小为 0 kb 我需要转换某些内容才能下载吗 我可以访问 f
  • 当元组列表中相同项目的值是字符串时,对它们的值求和

    如果我有这样的元组列表 my list books 5 books 10 ink 20 paper 15 paper 20 paper 15 我怎样才能把列表变成这样 books 15 ink 20 paper 50 即添加同一项目的费用
  • 提高光线追踪命中功能的性能

    我有一个简单的 python 光线追踪器 渲染 200x200 的图像需要 4 分钟 这对于我的口味来说绝对是太多了 我想改善这种情况 几点 我为每个像素发射多条光线 以提供抗锯齿功能 每个像素总共发射 16 条光线 200x200x16
  • 使用具有可变数量索引的 numpy mggrid

    如何将 numpy mgrid 与可变数量的索引一起使用 我在 github 上找不到任何人将其与硬编码值以外的任何内容一起使用的示例 import numpy as np np mgrid 1 10 1 10 this works fin
  • Django 1.7:如何使用 html/css 文件作为模板发送电子邮件

    从 Django 1 7 开始 可以send email 使用新参数 html message 不幸的是 没有关于如何使用它的全面指南 新手友好 或者至少我找不到它 我需要使发送的电子邮件变得漂亮 因此 我试图弄清楚如何将我的消息包含到 h
  • 增强迪基-富勒测试中的 BIC 在 Python 中到底是如何工作的?

    这个问题是关于 statsmodels tsa stattools python 库 adfuller 中的增强迪基 富勒测试实现 原则上 AIC 和 BIC 应该计算一组可用模型的信息标准 并选择最好的模型 信息损失最低的模型 但它们在增
  • 在Python中随机交错2个数组

    假设我有两个数组 a 1 2 3 4 b 5 6 7 8 9 我想将这两个数组交错为变量 c 注意 a 和 b 不一定具有相同的长度 但我不希望它们以确定性的方式交错 简而言之 仅仅压缩这两个数组是不够的 我不想要 c 1 5 2 6 3
  • 完整日历 - 向事件对象添加额外属性

    可能是由于我缺乏理解 但我使用 PHP 返回 JSON 字符串来带回事件数据
  • 为数据集生成随机 JSON 结构排列

    我想生成 JSON 结构的许多不同排列作为同一数据集的表示 最好不需要对实现进行硬编码 例如 给定以下 JSON name smith occupation agent enemy humanity nemesis neo 应该产生许多不同
  • 尝试 numba 时出现巨大错误

    我在使用 numba 时遇到了大量错误 讽刺的是 正确的结果是在错误之后打印的 我正在使用最新的 Anaconda python 并安装了 numba conda install numba 一次在 Ubuntu 13 64 位和 anac
  • JSONDecodeError:额外数据:Python [重复]

    这个问题在这里已经有答案了 我使用以下代码从文件加载 json file file name obj list with open file as f for json obj in f obj list append loads json
  • 如何仅读取 CSV 文件每行的第一列 [重复]

    这个问题在这里已经有答案了 如何在Python中读取CSV文件每行的第一列 我的数据是这样的 1 abc 2 bcd 3 cde 我只需要循环第一列的值 另外 当我在 calc 中打开 csv 文件时 每行中的数据都在同一个单元格中 这正常
  • 如何使用 keras.backend.gradients() 获取梯度值

    我试图获得 Keras 模型的输出相对于模型输入 x 而不是权重 的导数 似乎最简单的方法是使用 keras backend 中的 梯度 它返回梯度张量 https keras io backend https keras io backe
  • 如何读取FTL文件中的JSONArray?

    我在我的 Java 文件中硬编码了以下 JSON 对象 JSONObject notificationInfoJson new JSONObject notificationInfoJson put title Payment Receiv
  • 在Python中使用os.makedirs创建目录时出现权限问题

    我只是想处理上传的文件并将其写入工作目录中 该目录的名称是系统时间戳 问题是我想以完全权限创建该目录 777 但我不能 使用以下代码创建的目录755权限 def handle uploaded file upfile cTimeStamp

随机推荐

  • 通过括号之间的逗号对字符串进行分组

    响应 正则表达式查找两个字符之间包含的字符串 同时排除分隔符 https stackoverflow com questions 1454913 regular expression to find a string included be
  • 可以将一个按钮覆盖在另一个按钮之上吗?

    我试图将一种按钮覆盖在另一个按钮之上 原因是我想向用户解释某些按钮的作用 例如 会有一个按钮 在该按钮的右上角或其他位置会有一个问号 当用户按下问号时 它会解释该按钮的作用 想到的就是这个 试试吧
  • int LA[] = {1,2,3,4,5} c 中的内存分配混乱

    我观察到为数组分配的内存似乎是动态的 这是我在此找到的示例代码tutorial https www tutorialspoint com data structures algorithms array data structure htm
  • jquery 取消悬停

    我有这个脚本可以在段落内的链接悬停时在段落上显示背景颜色 我不知道该怎么做是在我 取消悬停 后使其返回到原始背景颜色 function box a hover function this parent css background colo
  • 获取最新发布的 YouTube 视频 URL

    我希望有人能够帮助我解决我遇到的问题 目前在我们的网站上 我们有这个页面 http driftgames life instagram http driftgames life instagram 我们使用它作为 Instagram 生物链
  • 一起使用 SQL 和 Pearl - 哪一个应该用于常用功能?

    我没有发现这个问题的任何重复 但如果有一个或多个 我很抱歉 请用链接发表评论 这个问题很基本 答案也可能是这样 如果我使用 Perl 来执行数据库并对其进行操作 那么当涉及共享函数时 我应该将负担放在哪个途径 Perl 与 SQL 上 功能
  • 使用Java连接到远程HBase服务

    我有一个小示例代码 我在其中尝试建立与远程 HBase 实体的连接 该代码在未安装 HBase 的 Windows 计算机上运行 我尝试连接到已安装并运行该代码的远程 Ubuntu 服务器 下面代码片段中的 IP 当然只是一个占位符 代码如
  • LDAP 使用 UPN 在 Active Directory 中搜索用户

    我正在使用 LDAP 身份验证 需要帮助 假设我有一个用户 电子邮件受保护 cdn cgi l email protection 其中 zzservers ad 是 demo com 域的 UPN 别名 我已经知道一种按域在活动目录中搜索用
  • RVM、Ruby 1.9.2、Rails 3、Passenger 3.0.2(Bundler::GemNotFound)

    我正在使用为 Nginx 配置的 RVM Ruby 1 9 2 Rails 3 Passenger 3 0 2 我正确设置了服务器配置 另一个应用程序到目前为止正在运行 但对于新应用程序 启动服务器时 http myapp local ht
  • Geb Firefox 驱动程序:为什么我的测试运行两次?

    对所有这些代码感到抱歉 但我不知道是什么造成了我的问题 所以就这样吧 我配置了 geb 插件来使用 JUnit 运行功能测试 所以我在我的buildConfig groovy def seleniumVersion 2 29 0 def g
  • ReSharper 和 var [重复]

    这个问题在这里已经有答案了 可能的重复 为什么 ReSharper 想要对所有内容使用 var https stackoverflow com questions 1873873 why does resharper want to use
  • 这是 MySQL 排序错误吗?

    我遇到了奇怪的服务器行为 MySQL 5 1 50 它对记录的排序不正确 例如我创建了一个表test CREATE TABLE IF NOT EXISTS test id int 11 NOT NULL AUTO INCREMENT tit
  • 使用 JQuery 触发 HTML 5 颜色选择器的点击

    在 JQuery 中 我们可以通过以下方式触发任何给定元素的 点击 selector trigger click 尽管当元素是 HTML 5 颜色选择器并且 CSS 将 display 属性设置为 none 时 我很难这样做 通常 如果输入
  • 如何在jquery中移动鼠标上的文本?

    如何使鼠标悬停时链接向左移动 我希望鼠标移开时文本移回 用jquery可以吗 请帮忙 谢谢 无论 CSS 是否在 jQuery 中 您都会使用 CSS 不知道为什么要使用 jQuery 但无论如何 这里有一个示例 a href Move m
  • Android Studio中EditText与其Id的关系?

    请仔细阅读我的问题 我在学习Activity LifeCycle 我只有一个EditText and a TextView在我的 XML 布局中具有某些id 当我旋转屏幕时 似乎没有任何变化 因为旋转不影响EditText 但是当我删除id
  • Android 任务亲和力解释

    属性具体是什么taskAffinity用于 我已经经历了文档 http developer android com guide topics manifest activity element html aff但我不太明白 谁能用通俗易懂的
  • git add、commit 和 push 命令合二为一?

    有什么办法可以将这三个命令合二为一吗 git add git commit a m commit do not need commit message either git push 有时我只更改一个字母 CSS 填充或其他内容 尽管如此
  • 如果应用程序被杀死,应用程序处于后台时收到的远程通知不会点击“didReceiveRemoteNotification - fetchCompletionHandler”方法?

    我们实现了以下方法来接收远程通知 并启用了 项目功能下的后台获取和远程通知 即使应用程序位于前台或后台 方法也会命中 但是 如果应用程序被杀死 在后台收到通知 则不会调用以下方法 如何解决这个问题 void application UIAp
  • 尝试使用 Maven 导入 o​​racle jdbc7 驱动程序时出错

    我无法使用 Maven 导入 jdbc7 oracle 驱动程序 我按照教程中的方式执行了所有操作甲骨文博客 https blogs oracle com dev2dev entry how to get oracle jdbc pom但我
  • 从日志文件中解析文本和 JSON 并将它们保存在一起

    我有一个包含文本字符串和 json 的 log 文件 例如 A whole bunch of irrelevant text 2022 12 15 12 45 06 run 1 user james json value 30 error