gpt4 book ai didi

regex - 如何根据特定模式拆分 CSV 行

转载 作者:行者123 更新时间:2023-12-04 04:57:12 25 4
gpt4 key购买 nike

在 .csv 文件中,我有如下几行:

10,"nikhil,khandare","sachin","rahul",viru  

我想使用逗号 (,) 分割线。但是我不想在双引号 ("") 之间拆分单词。如果我使用逗号分割,我将获得包含以下项目的数组:
10  
nikhil
khandare
sachin
rahul
viru

但我不希望双引号之间的项目用逗号分隔。我想要的结果是:
10
nikhil,khandare
sachin
rahul
viru

请帮我解决这个问题。

最佳答案

用于分隔字段的字符不应出现在字段本身中。如果可能,请更换 ,;用于分隔 csv 文件中的字段,这将使您的生活更轻松。但是如果你坚持使用 ,作为分隔符,您可以使用此正则表达式拆分每一行:

/((?:[^,"]|"[^"]*")+)/

例如,在 Python 中:
import re
s = '10,"nikhil,khandare","sachin","rahul",viru'
re.split(r'((?:[^,"]|"[^"]*")+)', s)[1::2]
=> ['10', '"nikhil,khandare"', '"sachin"', '"rahul"', 'viru']

现在要获得问题中显示的确切结果,我们只需要删除那些额外的 "字符:
[e.strip('" ') for e in re.split(r'((?:[^,"]|"[^"]*")+)', s)[1::2]]
=> ['10', 'nikhil,khandare', 'sachin', 'rahul', 'viru']

关于regex - 如何根据特定模式拆分 CSV 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16606800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com