繁体   English   中英

在逗号上分割字符串,但忽略双引号内的逗号?

[英]Split string on commas but ignore commas within double-quotes?

我有一些输入如下所示:

A,B,C,"D12121",E,F,G,H,"I9,I8",J,K

逗号分隔的值可以是任何顺序。 我想用逗号分割字符串; 但是,在双引号内包含某些内容的情况下,我需要它既忽略逗号又去除引号(如果可能)。 因此,基本上,输出将是以下字符串列表:

['A', 'B', 'C', 'D12121', 'E', 'F', 'G', 'H', 'I9,I8', 'J', 'K']

我看过其他一些答案,我认为正则表达式会是最好的选择,但是我想出这些答案很糟糕。

拉瑟是对的。 这是一个用逗号分隔的值文件,因此您应该使用csv模块 一个简单的例子:

from csv import reader

# test
infile = ['A,B,C,"D12121",E,F,G,H,"I9,I8",J,K']
# real is probably like
# infile = open('filename', 'r')
# or use 'with open(...) as infile:' and indent the rest

for line in reader(infile):
    print line
# for the test input, prints
# ['A', 'B', 'C', 'D12121', 'E', 'F', 'G', 'H', 'I9,I8', 'J', 'K']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM