使用 Python 解析文本文件

2024-04-06

我对 Python 很陌生,希望用它来解析文本文件。该文件包含 250-300 行,格式如下:

---- Mark Grey ([email protected] /cdn-cgi/l/email-protection) changed status from Busy to Available @ 14/07/2010 16:32:36 ----
----  Silvia Pablo ([email protected] /cdn-cgi/l/email-protection) became Available @ 14/07/2010 16:32:39 ----

我需要将此文件中的所有条目的以下信息存储到另一个文件(excel 或文本)中

UserName/ID  Previous Status New Status Date Time

因此,对于上述条目,我的结果文件应如下所示

Mark Grey/[email protected] /cdn-cgi/l/email-protection  Busy Available 14/07/2010 16:32:36
Silvia Pablo/[email protected] /cdn-cgi/l/email-protection  NaN  Available 14/07/2010 16:32:39

提前致谢,

任何帮助将非常感激


让您开始:

result = []
regex = re.compile(
    r"""^-*\s+
    (?P<name>.*?)\s+
    \((?P<email>.*?)\)\s+
    (?:changed\s+status\s+from\s+(?P<previous>.*?)\s+to|became)\s+
    (?P<new>.*?)\s+@\s+
    (?P<date>\S+)\s+
    (?P<time>\S+)\s+
    -*$""", re.VERBOSE)
with open("inputfile") as f:
    for line in f:
        match = regex.match(line)
        if match:
            result.append([
                match.group("name"),
                match.group("email"),
                match.group("previous")
                # etc.
            ])
        else:
            # Match attempt failed

会给你一个比赛部分的数组。然后我建议你使用csv module http://docs.python.org/library/csv.html以标准格式存储结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Python 解析文本文件 的相关文章

随机推荐

  • Google Slide API - 如何多次复制一张幻灯片并每次创建一个唯一的对象 ID

    一般来说 我希望人们将一些数据放入谷歌工作表中并提供一个按钮 该按钮获取数据并自动填充预制的谷歌幻灯片 我选择了复制主幻灯片 然后用数据替换单个文本模块的方法 有更好的方法来实现我的目标吗 这是主幻灯片 这是我用于复制的代码 但它只能复制母
  • 当键列具有不同名称时实体拆分?

    我正在使用 Entity Framework 4 3 1 Code First 并且需要在两个表之间拆分实体 这些表有一个共享的主键 并且是一对一的 但每个表上的列的名称并不相同 我无法控制数据布局 也不能请求任何更改 例如 SQL 表可以
  • 带锚点的 ASP.Net MVC RedirectToAction

    我有以下问题 例如我有这样的路线 routes Add new Route forums thread threadOid last new MvcRouteHandler Defaults new RouteValueDictionary
  • EnableRaisingEvents(启用和禁用它)

    我正在维护一些代码 其中有两个 FileSystemWatcher 事件 这使得调试变得困难 并且有错误 所以我的想法是通过使执行顺序化来简化代码 差不多是这样的 Main method 1 normal code here 2 enabl
  • 如何配置 Beyond Compare 以忽略注释中的 SCM 替换文本?

    我确实有一些被 SCM 替换的文本序列 在我的例子中是 Perforce 我确实想配置 BeyondCompare 将这些序列视为不重要的差异 以便在比较文件时能够忽略它们 就我而言 它是关于 Python 源文件的 序列看起来像 Id d
  • 如何在 Struts 2 中创建自定义 URL?喜欢 www.twitter.com/goodyzain

    我正在开发一个项目 我想为每个用户提供唯一的 URL 例如 www SocialNetwork com jhon www SocialNetwork com jasmine 到目前为止我能够实现这一点 www SocialNetwork c
  • Flow Shop 到布尔可满足性 [多项式时间缩减]

    我联系您是为了了解 如何将流水车间调度问题 转化为布尔可满足性 我已经对 N N 数独 N 皇后和班级调度问题进行了此类简化 但我对如何将流水车间转换为 SAT 有一些问题 SAT 问题如下所示 目标是 使用不同的布尔变量 找到每个变量的影
  • Kotlin - 为什么编译器合约只允许引用函数参数

    在编写验证函数时 这些验证函数通常会检查可空性 尽管在调用这些函数之后 可以安全地使用对象成员 就像它们不可为 null 一样 但 Kotlin 编译器契约不允许指定此行为 例如 data class EmployeeDto val nam
  • 为 Windows 创建 Ruby 应用程序

    我想开发一个Windows应用程序 老实说 我现在不太关心跨平台 但仍然很好 我想使用 Ruby 因为它的语法相当简单 而且 简单易学 我的应用程序就像一个 游戏关卡创建者 您可以在其中设计自己的关卡 然后通过读取创建者应用程序创建的项目文
  • 意外响应代码 404 齐射

    我收到以下代码发送的某些请求的错误 但我不知道为什么 private void DeActivateReq String toolID String token String Childid String url http 54 77 12
  • 如何将 AutoValue 与 Retrofit 2 结合使用?

    我已经在一个项目中使用了 AutoValue 和 android apt 插件 并且我知道 Ryan Harter 的 AutoValue gson 扩展 但是如何连接 Retrofit 2 以在抽象类上使用扩展和工厂方法 String g
  • 具有多个预览的 AVCaptureSession

    我有一个 AVCaptureSession 与 AVCaptureVideoPreviewLayer 一起运行 我可以看到视频 所以我知道它正在发挥作用 但是 我想要一个集合视图 并在每个单元格中添加一个预览层 以便每个单元格显示视频的预览
  • Celery 使连接由对等方重置

    我设置了rabbitmqserver并使用以下步骤添加了用户 uruddarraju usr lib rabbitmq lib rabbitmq server 3 2 3 sudo rabbitmqctl list users Listin
  • Chromedriver `driver.manage.logs.get(:browser)` 在 chromedriver 75.0.3770.8 上失败

    访问时driver manage logs get browser 在 chromedriver 75 0 3770 8 上我收到此错误 undefined method log for
  • pygame中的旋转

    我一直在寻找如何使我的图像围绕单个点旋转的解决方案 但据我发现 没有任何方法真正起作用 我知道的 我可以使用旋转pygame transform rotate surface angle 我需要不断重置中心 以便图像不会自行旋转 需要更新图
  • 如何设置进度条以在android中加载数据的活动

    这是我的第一堂课 进行 URL 加载 public class HelloWebViewClient extends WebViewClient Override public boolean shouldOverrideUrlLoadin
  • 如何仅使用javascript而不使用jquery进行无限滚动

    我希望用javascript而不用jquery实现无限滚动 我是 JavaScript 新手 经过网上搜索 我得到了这段代码 div div class page div div
  • 在 Javascript 中解析 JSON 响应以获取键/值对 [重复]

    这个问题在这里已经有答案了 如何仅在 Javascript 中获取每个对象的名称和值 访问对象的属性有两种方法 var obj a foo b bar obj a foo obj b bar 或者 如果您需要动态执行此操作 var key
  • Haskell GHC 动态编译仅适用于第一次编译

    按照发布的 GHC 教程here http www bluishcoder co nz 2008 11 dynamic compilation and loading of html并按照以下建议对此代码进行更改我之前问过的一个堆栈溢出问题
  • 使用 Python 解析文本文件

    我对 Python 很陌生 希望用它来解析文本文件 该文件包含 250 300 行 格式如下 Mark Grey email protected cdn cgi l email protection changed status from