将txt解析为块

2023-12-05

我有一个txt文件,其结构如下

start
id=1
date=21.05.2018
summ=500
end

start
id=7
date=23.05.2018
summ=500
owner=guest
end

我需要在字典列表中解析它(str:str(即使它是int类型或日期:将其转换为字符串))。即把它分成块start end,然后将其拆分为=象征。之间的行数start end可以不同。 D 但a却无法意识到这一点。我尝试过这样的事情:

d ={}
arr = []
ind = 0
for line in plines:
    ind = ind + 1
    if 'startpayment' in line:
        print('ind = ' + str(ind))
        for i in range(ind, len(plines)):
            print(i)
            key, value = plines[i].strip().split('=')
            if type(value) == 'str':
                d[key] = str(value)
            elif type(value) == 'int':
                 d[key] = int(value)
            arr.append(d)
            if 'endpayment' in line:
                break

有人可以帮助我吗?谢谢


Using Regex.

import re

with open(filename, "r") as infile:
    data = infile.read()
    data = re.findall("(?<=\\bstart\\b).*?(?=\\bend\\b)", data, flags=re.DOTALL)   #Find the required data from text

r = []
for i in data:
    val =  filter(None, i.split("\n"))
    d = {}
    for j in val:
        s = j.split("=")    #Split by "=" to form key-value pair
        d[s[0]] = s[1]
    r.append(d)             #Append to list
print(r)

Output:

[{'date': '21.05.2018', 'summ': '500', 'id': '1'}, {'date': '23.05.2018', 'owner': 'guest', 'summ': '500', 'id': '7'}]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将txt解析为块 的相关文章

  • Django 管理员在模型编辑时间歇性返回 404

    我们使用 Django Admin 来维护导出到我们的一些站点的一些数据 有时 当单击标准更改列表视图来获取模型编辑表单而不是路由到正确的页面时 我们会得到 Django 404 页面 模板 它是偶尔发生的 我们可以通过重新加载三次来重现它
  • SQLAlchemy 通过关联对象声明式多对多自连接

    我有一个用户表和一个朋友表 它将用户映射到其他用户 因为每个用户可以有很多朋友 这个关系显然是对称的 如果用户A是用户B的朋友 那么用户B也是用户A的朋友 我只存储这个关系一次 除了两个用户 ID 之外 Friends 表还有其他字段 因此
  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • Flask 会话变量

    我正在用 Flask 编写一个小型网络应用程序 当两个用户 在同一网络下 尝试使用应用程序时 我遇到会话变量问题 这是代码 import os from flask import Flask request render template
  • 如何在 Python 中检索 for 循环中的剩余项目?

    我有一个简单的 for 循环迭代项目列表 在某些时候 我知道它会破裂 我该如何退回剩余的物品 for i in a b c d e f g try some func i except return remaining items if s
  • 如何替换 pandas 数据框列中的重音符号

    我有一个数据框dataSwiss其中包含瑞士城市的信息 我想用普通字母替换带有重音符号的字母 这就是我正在做的 dataSwiss Municipality dataSwiss Municipality str encode utf 8 d
  • Python 函数可以从作用域之外赋予新属性吗?

    我不知道你可以这样做 def tom print tom s locals locals def dick z print z name z name z guest Harry print z guest z guest print di
  • AWS EMR Spark Python 日志记录

    我正在 AWS EMR 上运行一个非常简单的 Spark 作业 但似乎无法从我的脚本中获取任何日志输出 我尝试过打印到 stderr from pyspark import SparkContext import sys if name m
  • 绘制方程

    我正在尝试创建一个函数 它将绘制我告诉它的任何公式 import numpy as np import matplotlib pyplot as plt def graph formula x range x np array x rang
  • Python 的“zip”内置函数的 Ruby 等价物是什么?

    Ruby 是否有与 Python 内置函数等效的东西zip功能 如果不是 做同样事情的简洁方法是什么 一些背景信息 当我试图找到一种干净的方法来进行涉及两个数组的检查时 出现了这个问题 如果我有zip 我可以写这样的东西 zip a b a
  • 无法在 Python 3 中导入 cProfile

    我试图将 cProfile 模块导入 Python 3 3 0 但出现以下错误 Traceback most recent call last File
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • 将图像分割成多个网格

    我使用下面的代码将图像分割成网格的 20 个相等的部分 import cv2 im cv2 imread apple jpg im cv2 resize im 1000 500 imgwidth im shape 0 imgheight i
  • 向 Altair 图表添加背景实心填充

    I like Altair a lot for making graphs in Python As a tribute I wanted to regenerate the Economist graph s in Mistakes we
  • 解释 Python 中的数字范围

    在 Pylons Web 应用程序中 我需要获取一个字符串 例如 关于如何做到这一点有什么建议吗 我是 Python 新手 我还没有找到任何可以帮助解决此类问题的东西 该列表将是 1 2 3 45 46 48 49 50 51 77 使用
  • 使用 Python 绘制 2D 核密度估计

    I would like to plot a 2D kernel density estimation I find the seaborn package very useful here However after searching
  • 使用其构造函数初始化 OrderedDict 以便保留初始数据的顺序的正确方法?

    初始化有序字典 OD 以使其保留初始数据的顺序的正确方法是什么 from collections import OrderedDict Obviously wrong because regular dict loses order d O
  • 使用 Python 的 matplotlib 选择在屏幕上显示哪些图形以及将哪些图形保存到文件中

    我想用Python创建不同的图形matplotlib pyplot 然后 我想将其中一些保存到文件中 而另一些则应使用show 命令 然而 show 显示all创建的数字 我可以通过调用来避免这种情况close 创建我不想在屏幕上显示的绘图
  • Rocket UniData/UniVerse:ODBC 无法分配足够的内存

    每当我尝试使用pyodbc连接到 Rocket UniData UniVerse 数据时我不断遇到错误 pyodbc Error 00000 00000 Rocket U2 U2ODBC 0302810 Unable to allocate

随机推荐

  • 如何将引用(不可序列化)从一个活动传递到另一个活动?

    假设我有一个对象的引用 我应该如何将其从一个活动传递到另一个活动 我不想查询应用程序对象 单例 静态变量 这还有可能吗 您可以在另一个活动中声明一个静态变量 或者在应用程序类中声明一些全局变量 然后在任何活动中访问它 就像您想从OldAct
  • Spring 会话范围的 bean(控制器)和对服务的引用(在序列化方面)

    标准情况 你有一个控制器 Controller with Scope session 通常期望在会话中放置的类能够实现Serializable以便在服务器重新启动时可以物理存储它们 例如 如果控制器实现Serializable 这意味着它引
  • .NET 中的“计算机不是我的成员”错误

    这个错误非常烦人 我已经进行了各种搜索 并且已经能够解决这个问题 我是该应用程序的几位开发人员之一 也是唯一遇到此问题的开发人员 我之前已经通过将扩展添加到项目属性中的 我的扩展 面板 这会生成不同的错误 然后删除该新扩展来临时修复了该问题
  • 从日历中获取日期之前的 18 年

    我需要获得 18 年后的完整日期 dd mm yyyy 我用代码作为 日历计算 Calendar getInstance calc add 日历 YEAR 18 它检索年而不是月或日之前的 18 年 即使在任何月份的 1 号等极端情况下 我
  • 如何在列表视图的行之间留出空白?

    在我的应用程序中 我需要列表视图在列表行之间有空格 这样我就可以为每一行提供背景 并且它看起来像行块 我尽了最大努力但没有找到任何解决方案 您可以使用android divider and android dividerHeight自定义行
  • 使用仅包含 ISO 周的数据集将 ISO 周聚合为几个月

    我的数据位于数据框中 其结构如下 df2 lt data frame Year c 2007 Week c 1 12 Measurement c rnorm 12 mean 4 sd 1 不幸的是 我没有每次测量的完整日期 例如缺少天数 只
  • 如何防止 GWT 应用程序中的 DoubleSubmit?

    澄清一下什么是双重提交 当用户点击提交按钮两次时 服务器将处理相同的 POST 数据两次 为了避免这种情况 除了在单次提交后禁用按钮之外 大多数 Web 框架 如 Struts 都提供了令牌机制 我正在 GWT 中寻找与此等效的内容 如果您
  • 如何获取上传文件的最后修改日期?

    我上传一个 XML 文件以将其内容迁移到我的数据库 但我想首先存储该文件的最后修改日期 以确保该文件与上一个文件相比没有发生任何更改 如何获取文件的最后修改日期 有没有 javascript 函数可以做到这一点 当您使用文件输入上传文件时
  • ASP.NET MVC Excel导出文件格式错误

    我目前正在编写一个 ASP NET MVC 5 控制器操作 以将一些数据导出到 Excel 文件 使用我在此处找到的一些代码 它有效 主要是 它输出一个 Excel 文件 我可以打开该文件 但在显示以下错误消息之前无法打开 Export x
  • 单次跳跃最多回溯 n 个楼梯,最多 k 步

    您需要爬一个有 n 个台阶的楼梯 并且您决定通过跳上台阶来获得一些额外的锻炼 单次跳跃最多可以完成 k 步 返回爬楼梯时所有可能的跳跃顺序 并排序 我的实施显然给了我错误的答案 def climbingStaircase n k final
  • 创建 Outlook 规则以根据主题行中的文本创建文件夹(如果需要)[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我正在寻找一种清晰的方法来使用 vba 读取收到电子邮件的主题行 以便创建新文件夹或仅使用现有文件夹将电子邮件移入 我看过一些 vba 示例 但没有一个解决在 Outlook 的
  • 如何在新的heroku应用程序中使用okta oauth登录

    我在我的express node js 应用程序中使用okta oauth 当我在 heroku 中部署并运行新应用程序并浏览登录页面时 我收到 404 状态代码 由于某种原因 我无法验证我的第三方 okta 应用程序的合法性 然而 在本地
  • Cookie 不会删除

    所以我的index php 中有这样的代码 如果用户选中了记住我框 那么它将设置一个名为 RememberMe 的 cookie 有效期为 2 周 这部分工作正常 现在我遇到的问题是当他们按下注销时删除这个cookie 按注销后 它们会被重
  • 替换字符串中的单个字符

    问题是需要替换给定字符串中的单个字符 同时保留字符串中的其他字符 代码是 if command equalsIgnoreCase replace single System out println Enter the character t
  • 保持两个线程之间的布尔值同步

    在一个线程 线程2 中 我更改了一个值 例如 CheckSuccess false 现在主线程 thread1 GUI Form 没有接收到更改 如何 传播 所有线程周围的更改 我的印象是线程应该操纵数据 而不是在单独的实例上工作 除非被告
  • 何时何地放置 @class 声明

    我正在开发一个包含多个自定义类的项目 我有一个CardModel NSObject 具有一些整数属性来保存数据 以及Deck NSObject 有一个数组可以容纳一堆CardModels然后一个CardView UIView 有一个Card
  • javax.faces.FacesException:表达式错误:命名对象:net.bootsfaces.layout.Well 未找到

    我正在尝试使用 BootsFaces 0 7 测试 JSF 2 2 项目 该项目在 GlassFish 3 和 PrimeFaces 5 2 上运行得非常顺利 但是在使用 BootsFaces 库中的任何标签的页面上 例如
  • 在 C 中哪种方式更好地将数组作为函数参数传递?

    有 3 种方法将数组作为函数参数传递 形式参数为一个指针 e g void myFunction int param 形式参数为一个指定大小的数组 e g void myFunction int param 10 形式参数为未调整大小的数组
  • 使用 .htaccess 清理 URL

    我正在尝试重定向我的域上的链接 我想要实现的是 当用户点击链接时 mydomain com index php dir myfolder 我希望他被重定向到这个 URL 但浏览器栏应该显示这个 URL mydomain com myfold
  • 将txt解析为块

    我有一个txt文件 其结构如下 start id 1 date 21 05 2018 summ 500 end start id 7 date 23 05 2018 summ 500 owner guest end 我需要在字典列表中解析它