Python 在字段值中使用分隔符进行拆分

标签 python split

我有一个“CSV”,其中某些数据字段恰好包含逗号分隔符,如以下示例数据的第二行所示。

"1","stuff","and","things"
"2","black,white","more","stuff"

我无法更改源数据,也不知道如何 str.split() 并且不拆分值“black,white”。

我解决问题的方法:

  1. 我查看了partition(),但不知道这对我有什么好处。
  2. 我确信正则表达式可以正确捕获数据,但我不确定如何将其与拆分结合起来。
  3. 由于源中的每一行始终具有相同数量的字段,我认为设置 maxsplit 可能会有所帮助,但我说服自己放弃了这一点,因为我认为它仍然会在“黑,白”内分割,而我最终会失去最后一个值(在本例中为“东西”)。

当然,这很容易克服,所以我期待学习新的东西!

非常感谢您的帮助。

最佳答案

使用csvStringIO :

>>> import csv, StringIO
>>> data = """"1","stuff","and","things"
... "2","black,white","more","stuff"
... """
>>> reader = csv.reader(StringIO.StringIO(data))
>>> for row in reader:
...     print row
... 
['1', 'stuff', 'and', 'things']
['2', 'black,white', 'more', 'stuff']

关于Python 在字段值中使用分隔符进行拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13243461/

相关文章:

python - 是否可以在 Enum 中定义类常量?

java - 基于多个分隔符分割字符串java

c - 从C中的数字字符串中查找数字组合的总和

python - Jupyter 笔记本内联图像中的光标位置和像素值

python - 使用 suds 在 SOAP 请求中多次发送相同类型

python - 如何使用 PIL(Python 图像库)将 RGB 值四舍五入为最接近的网络安全值?

javascript - 如何将字符串拆分为 n 个字符的段?

python - 如何在 Python 3 中使用 readlines 读取由空格分隔的整数输入文件?

linux - 在大文件中按分隔符拆分行

用于自动视频分割和缩略图创建的 FFMPEG 命令