python - 有条件分割字符串

标签 python regex

我正在尝试使用 Python 解析我的 csv 文件。每行有四个用逗号分隔的元素。每个元素都是一个字符串,但也可能包含逗号。如果元素包含逗号,则该元素用双引号引起来。以下示例显示了带引号和不带引号的两种不同情况:

http://data.europa.eu/esco/skill/CTC_43028,"use data extraction, transformation and loading tools","ETL|extract, transform, load","<div>Integrate information from multiple applications, created and maintained by various organisations, into one consistent and transparent data structure.</div>"
http://data.europa.eu/esco/skill/SCG.TS.1.4.m.2,support company plan,follow industry guidelines|follow organisation's vision|monitor policy implementation|support company mission,<div>Act within one&#39;s work role to advance the goals and vision of the organisation.</div>

我想要的是将每一行分成四个元素。 我尝试过Python的split函数,但没有成功。我想我必须使用正则表达式,但我不熟悉它。 您能给一些帮助吗? 非常感谢。

最佳答案

csv模块就是你想要的:

import csv

with open('file.csv') as f:
    r = csv.reader(f)
    for row in r:
        print row

['http...', 'transformation ...', 'ETL|ext ...', '<div>Integrate ...']
['http:...', 'support ...', 'follow ...', '<div>Act ...']

',' 是默认分隔符,'"' 是默认引号字符。

关于python - 有条件分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42189614/

相关文章:

python readline lib 当用户按一次退格键时删除整行

javascript - 正则表达式如何匹配html元素后的文本

java - 正则表达式用于搜索和替换字符串中的文本

sql - regexp_matches postgreSQL 函数中的简单参数替换

java - 正则表达式主机名

python - 一个字母游戏问题?

python - 虚拟变量水平不存在于未见数据中

python - 如何在目录中的所有文件类型中搜索正则表达式

python - 如何在 python 中从 groupby pandas 中提取向量

c# - 跨数据注释/属性共享正则表达式的方法