我正在努力分割文本行,基于变量分隔符,并保留空字段和引用的数据.

例子:

1,"2",three,'four,4',"6\tsix"

或作为制表符分隔的vesion

1\t"2"\tthree\t'four,4'\t\t"6\tsix"

都应该导致:

['1','"2"','three','',"6\tsix"]

到目前为止,我已经尝试过:

>使用split,但是明确地说,引用的分隔符不按需要处理.
>使用csv库的解决方案,但它倾向于具有引用全部或全部内容的选项,而不保留原始引号.
>正则表达式,特别是从以下答案的模式,但它删除空字段:How to split but ignore separators in quoted strings,in python?
>使用pyparsing库.我管理的最好的是如下,但这也会删除空字段(使用逗号分隔符示例):

s = '1,\'four,4\',"6\tsix"'
wordchars = (printables + ' \t\r\n').replace(',',1)
delimitedList(OneOrMore(quotedString | Word(wordchars)),').parseWithTabs().parseString(s)

感谢任何想法!

解决方法

这对我有用:
import pyparsing as pyp

pyp.delimitedList(pyp.quotedString | pyp.SkipTo(',' | pyp.LineEnd()),') \
    .parseWithTabs().parseString(s)

['1',"'four,4'",'"6\tsix"']

避免用空格字符或所有可打印字符创建单词.曲折不会有任何前瞻性,而这些表达可能包含比您计划的更多.

Python分隔线分割问题的更多相关文章

  1. UITableViewCellAccessoryCheckmark涵盖iOS 7上的单元格分隔符

    在iOS7上使用此代码会导致分隔符视图被覆盖或缩短:如何修复分隔符视图?

  2. ios – 页脚视图的颜色总是比UITableView分隔符的颜色更暗

    在我的UITableView中,我设置了这样的分隔符颜色:我像这样设置页脚的颜色:但是,页脚视图的颜色总是比分隔符的颜色更暗,如下所示:如何让它们成为完全相同的颜色?谢谢.解决方法从iOS6.0开始,您可以使用下面提到的UITableView的委托方法来更改页脚视图的背景颜色–

  3. ios – 使用NSLayoutConstraint垂直居中两个视图

    解决方法通过这样做,我能够做到这一点:棘手的部分是恒定值.该值是所有视图高度的一半,包括它们的分隔符.这意味着,如果imageview的高度为360,按钮的高度为70,分隔符为60,则该常量将为/2=245.确实应该有一种更聪明的方式,但是现在我觉得这没关系.

  4. ios – 可以增加UITableView分隔线的厚度吗?

    我看到无处不在试图增加这条线的厚度.有没有办法以编程方式做这个?

  5. ios – 来自Swift Xcode 6中的应用程序的iPhone电话

    我检查并尝试过以前的答案,如何直接从应用程序拨打电话,但我不断收到错误.我刚刚在储物柜中制作了一个按钮,并将其连接到视图控制器.它不断给我“错误审查”,“分隔符,但这并不解决任何事情.我需要向AppDelegate或其他任何内容添加代码吗?我真的想知道在斯威夫特这样做的方式.解决方法此代码将帮助您:要么

  6. ios – 在TabBar中的段之间添加分隔符

    我必须在TabBar的部分之间添加分隔符,如下图所示:我试图设置背景iamge为tabbar使用这个图像:但是当我旋转设备时我有问题.我使用的代码:此外,我尝试在图像的右侧添加一个分隔符,我用于abbar项,但没有结果.请问,请帮帮我吗?

  7. ios – 分段线在选择最后一行后显示

    我在所有的UITableView中看到一个奇怪的行为.这开始让我吃惊了我有简单的样式UITableViews.该部分的最后一行没有得到分隔符,它只是混合到段头.检查最后一行的高度,似乎苹果正在使其更大1px以从单元格中移除分隔符高度.问题是当我选择行,但拖动,分隔线显示,永远不会消失.如果我回去观看并回来,它将默认为关闭.我正在看到我的所有表视图,正常单元格和自定义单元格.当我取消选择时,我可以做些什么来确保最后一个分隔符保持不变?

  8. UIPopoverController(iOS7)中如何防止UITableView分隔符颜色变黑?

    任何帮助将不胜感激.解决方法设置在viewwillAppear希望这可以帮助

  9. swift__多线程GCD详解

    有以下*-disPATCH_QUEUE_PRIORITY_HIGH:*-disPATCH_QUEUE_PRIORITY_DEFAULT:多用默认*-disPATCH_QUEUE_PRIORITY_LOW:*-disPATCH_QUEUE_PRIORITY_BACKGROUND:*第二个参数为预留参数,一般为0*/letmyQueue:dispatch_queue_t=dispatch_get_global_queue//用异步的方式运行队列里的任务dispatch_async//-------------

  10. macos – NSSplitView启动大小(故事板和Swift)的麻烦

    拆分视图的初始大小基于约束.如果没有约束要满足则宽度或高度为0.您是正确的,您不能向根视图添加任何约束.您必须添加具有暗示所需高度或宽度的约束的子视图.这可能只是一个具有设置宽度或高度约束的NSView.

随机推荐

  1. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  2. python数学建模之三大模型与十大常用算法详情

    这篇文章主要介绍了python数学建模之三大模型与十大常用算法详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感想取得小伙伴可以参考一下

  3. Python爬取奶茶店数据分析哪家最好喝以及性价比

    这篇文章主要介绍了用Python告诉你奶茶哪家最好喝性价比最高,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

  4. 使用pyinstaller打包.exe文件的详细教程

    PyInstaller是一个跨平台的Python应用打包工具,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,下面这篇文章主要给大家介绍了关于使用pyinstaller打包.exe文件的相关资料,需要的朋友可以参考下

  5. 基于Python实现射击小游戏的制作

    这篇文章主要介绍了如何利用Python制作一个自己专属的第一人称射击小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试

  6. Python list append方法之给列表追加元素

    这篇文章主要介绍了Python list append方法如何给列表追加元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. Pytest+Request+Allure+Jenkins实现接口自动化

    这篇文章介绍了Pytest+Request+Allure+Jenkins实现接口自动化的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  8. 利用python实现简单的情感分析实例教程

    商品评论挖掘、电影推荐、股市预测……情感分析大有用武之地,下面这篇文章主要给大家介绍了关于利用python实现简单的情感分析的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

  9. 利用Python上传日志并监控告警的方法详解

    这篇文章将详细为大家介绍如何通过阿里云日志服务搭建一套通过Python上传日志、配置日志告警的监控服务,感兴趣的小伙伴可以了解一下

  10. Pycharm中运行程序在Python console中执行,不是直接Run问题

    这篇文章主要介绍了Pycharm中运行程序在Python console中执行,不是直接Run问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

返回
顶部