单个 CSV 文件中的多个分隔符

2024-01-07

我有一个 CSV,它有三个不同的分隔符,即“|”、“,”和“;”不同列之间。

我如何使用Python解析这个CSV?

我的数据如下:

2017-01-24|05:19:30+0000|TRANSACTIONDelim_secondUSER_LOGINDelim_firstCONSUMERIDDelim_secondc4115f53-3798-4c9e-9bfd-506c842aff96Delim_firstTRANSACTIONDATEDelim_second17-01-24 05:19:30Delim_firstCHANNELIDDelim_secondDelim_firstSHOWIDDelim_secondDelim_firstEPISODEIDDelim_secondDelim_firstBUSINESSUNITDelim_secondnullDelim_firstAIRINGDATEDelim_second|**
2017-01-24|05:19:30+0000|TRANSACTIONDelim_secondUSER_LOGOUTDelim_firstCONSUMERIDDelim_second1583e83882b8e7Delim_firstTRANSACTIONDATEDelim_second17-01-24 05:19:26Delim_firstCHANNELIDDelim_secondDelim_firstSHOWIDDelim_secondDelim_firstEPISODEIDDelim_secondDelim_firstBUSINESSUNITDelim_secondbu002Delim_firstAIRINGDATEDelim_second24-Jan-2017|**
2017-01-24|05:21:59+0000|TRANSACTIONDelim_secondVIEW_PRIVACY_POLICYDelim_firstCONSUMERIDDelim_secondnullDelim_firstTRANSACTIONDATEDelim_second17-01-24 05:21:59Delim_firstCHANNELIDDelim_secondDelim_firstSHOWIDDelim_secondDelim_firstEPISODEIDDelim_secondDelim_firstBUSINESSUNITDelim_secondnullDelim_firstAIRINGDATEDelim_second|**
2017-01-24|05:59:25+0000|TRANSACTIONDelim_secondUSER_LOGOUTDelim_firstCONSUMERIDDelim_second1586a2aa4bc18fDelim_firstTRANSACTIONDATEDelim_second17-01-24 05:59:21Delim_firstCHANNELIDDelim_secondDelim_firstSHOWIDDelim_secondDelim_firstEPISODEIDDelim_secondDelim_firstBUSINESSUNITDelim_secondbu002Delim_firstAIRINGDATEDelim_second24-Jan-2017|**
2017-01-24|05:59:36+0000|TRANSACTIONDelim_secondUSER_LOGOUTDelim_firstCONSUMERIDDelim_second1583e83882b8e7Delim_firstTRANSACTIONDATEDelim_second17-01-24 05:59:31Delim_firstCHANNELIDDelim_secondDelim_firstSHOWIDDelim_secondDelim_firstEPISODEIDDelim_secondDelim_firstBUSINESSUNITDelim_secondbu002Delim_firstAIRINGDATEDelim_second24-Jan-2017|**
2017-01-24|06:04:25+0000|TRANSACTIONDelim_secondUSER_LOGOUTDelim_firstCONSUMERIDDelim_secondc4115f53-3798-4c9e-9bfd-506c842aff96Delim_firstTRANSACTIONDATEDelim_second17-01-24 06:04:24Delim_firstCHANNELIDDelim_secondDelim_firstSHOWIDDelim_secondDelim_firstEPISODEIDDelim_secondDelim_firstBUSINESSUNITDelim_secondbu002Delim_firstAIRINGDATEDelim_second|**
2017-01-24|06:05:07+0000|TRANSACTIONDelim_secondUSER_LOGINDelim_firstCONSUMERIDDelim_secondc4115f53-3798-4c9e-9bfd-506c842aff96Delim_firstTRANSACTIONDATEDelim_second17-01-24 06:05:07Delim_firstCHANNELIDDelim_secondDelim_firstSHOWIDDelim_secondDelim_firstEPISODEIDDelim_secondDelim_firstBUSINESSUNITDelim_secondnullDelim_firstAIRINGDATEDelim_second|**
2017-01-24|06:05:07+0000|TRANSACTIONDelim_secondUSER_LOGINDelim_firstCONSUMERIDDelim_secondc4115f53-3798-4c9e-9bfd-506c842aff96Delim_firstTRANSACTIONDATEDelim_second17-01-24 06:05:07Delim_firstCHANNELIDDelim_secondDelim_firstSHOWIDDelim_secondDelim_firstEPISODEIDDelim_secondDelim_firstBUSINESSUNITDelim_secondbu002Delim_firstAIRINGDATEDelim_second|**

坚持使用标准库,re.split()可以在以下任意字符处分割一行:

import re

with open(file_name) as fobj:
    for line in fobj:
        line_data = re.split('Delim_first|Delim_second|[|]', line)
        print(line_data)

这将在分隔符处分割|, Delim_first, and Delim_second.

或者用熊猫:

import pandas as pd
df = pd.read_csv('multi_delim.csv', sep='Delim_first|Delim_second|[|]', 
                  engine='python', header=None)

Result:

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

单个 CSV 文件中的多个分隔符 的相关文章

随机推荐

  • GULP:就地修改监视文件而不导致无限循环

    我尝试使用 gulp 和 jscs 来防止代码异味 我还想使用手表 以便在进行更改时发生这种情况 我遇到的问题是 jscs 修改正在监视的源文件 这会导致 gulp 进入 jscs 修改文件的无限循环 然后观察更改并一次又一次地触发 jsc
  • 在谷歌分析中跟踪 Facebook 评论小部件的最佳方法是什么?

    我想将谷歌分析中的事件跟踪应用于通过 facebook 社交插件 iframe 小部件 在我们网站上发表的 facebook 评论 但我似乎找不到附加事件的方法 如果解决方案是基于 jquery 的 我会更喜欢 但老实说 我对大多数建议持开
  • 将网站转换为 Android 应用程序和我网站上的 Youtube 视频无法进入全屏模式

    我在 Android Studio 中使用 WebView 将网站转换为应用程序 一切都很好 但我网站上的 YouTube 视频无法全屏显示 我是初学者 所以请帮我解决这个问题 Main Activity Code import andro
  • 无法打开设置文件的设置通用类缓存'

    我重新安装了我的android studio 因为找不到sdk等等 重新安装 java jdk 和 android studio 后 一切正常 直到出现错误 无法初始化类 org codehaus groovy runtime Invoke
  • 在 R Markdown 文件中包含 HTML 文件吗?

    快速总结 如何放置 HTML 文件in place在 R Markdown 文件中 Details 我通过以下方式创建了一些漂亮的动画分区统计图脉络膜 https cran r project org web packages chorop
  • Fortran 语言中的 OpenMP

    我很少使用 Fortran 但是我的任务是将遗留代码重写为并行运行 我使用 gfortran 作为我的编译器选择 我在以下位置找到了一些优秀的资源https computing llnl gov tutorials openMP https
  • Sencha Touch 2.1 本机(android)应用程序无法从远程获取 json(它适用于 PC)

    我通过观看此视频创建了我的第一个 Sencha touch 2 应用程序 http youtu be 5F7Gx0 W M4 http youtu be 5F7Gx0 W M4 并且它的商店页面结构如下 Ext define FirstAp
  • 获取原始图像 url Magento (1.6.1.0)

    我有以下代码 cProduct Mage getModel catalog product foreach products id as product id product cProduct gt load product id prod
  • 如何在 Visual Studio 2010 中从自定义属性表设置 PlatformToolset

    我现在正从 VS 2005 迁移到 VS 2010 其产品由少数解决方案组成 每个解决方案包含大量项目 我想利用属性表系统 以便我们的众多配置更容易维护 问题之一是我们想要使用 Windows SDK 7 1 因为我们需要 BaseClas
  • d3.interpolateGnBu 发生了什么

    所以我尝试使用 GnBu 配色方案制作连续的色标 d3 scaleSequential d3 interpolateGnBu domain 0 1 这适用于 d3 scaleSequential d3 interpolateViridis
  • AEM 6.0 Sightly 子节点

    我有一个关于使用 Sightly 访问组件子节点的问题 我有一个模板 它使用 data sly resource 引入基本图像组件 如下所示 div class div 我想做的是根据该图像组件是否实际具有图像集来更改 css 类 为此 我
  • Maven - 如何包含空目录

    默认情况下 在构建过程中 maven 会删除空目录 你知道是否可以在pom中指定一个参数来指示maven在生成的target test classes文件夹中包含空目录 根据这张票 MRESOURCES 36 http jira codeh
  • “DbContextOptionsBuilder”不包含“UseSqlServer”的定义

    我正在尝试使用 C 在 VS 2015 Pro 更新 3 中创建一个 Web API 并针对 NET Core 我正在关注本教程 https docs efproject net en latest platforms aspnetcore
  • Wireshark/tshark 中的 2 通道过滤器

    选项 Y 2 and R in tshark迷惑我很久了 看完说明书我才知道 Y用于单通滤波器和 2在 2 遍过滤器中 如果我们在第 1 遍过滤器结束之前无法获取一些信息 但我还是不明白有什么区别 2 Y blabla and 2 R ba
  • 合并后发出拉取请求的用户不会出现在贡献者列表中

    我有一个回购协议Test GitHub 通知我该用户woo27 谁分叉了我的仓库Test 已经做了一个pull request 这些是官方推荐的合并命令 见下面的截图 git checkout b woo27 master master g
  • 如果 contentedittable = false,如何更改内容样式?

    嘿 我创建了一个可以打开新对话框 一个额外的 HTML 页面 的插件 通过此对话框 用户有机会创建自己的格式模式 我想要什么 我需要一个带有只读文本区域的tinymce编辑器 没问题 但用户必须能够选择粗体 斜体 下划线 字体大小 字体系列
  • JPA 实体和 Hibernate 实体之间的区别

    当我用 Entity 注释一个类并尝试解决依赖关系时 我可以在两个不同的包 javax persistence Entity 和 org hibernate annotations Entity 之间选择包 javax包是JPA的entit
  • 如何从 Vue.js 中深度嵌套的子组件访问数据

    我正在使用 Vue js 构建一个界面 我有一个表格 该表格包含一个地址和其他杂项数据 所以我在Vue中创建了两个组件 UserData and UserAddress UserData包含一个实例UserAddress作为子组件 我想根据
  • $(document).ready 的不同形式

    我见过有人写 document ready function 和一些写作 function 有什么区别以及何时使用什么 是 jQuery 对象本身 它在被调用时实现了一大堆不同的接口 string 运行选择器或构造节点 domElement
  • 单个 CSV 文件中的多个分隔符

    我有一个 CSV 它有三个不同的分隔符 即 和 不同列之间 我如何使用Python解析这个CSV 我的数据如下 2017 01 24 05 19 30 0000 TRANSACTIONDelim secondUSER LOGINDelim