我有一些输入如下所示:
A,B,C,"D12121",E,F,G,H,"I9,I8",J,K
逗号分隔的值可以是任何顺序。我想用逗号分割字符串;但是,在双引号内包含某些内容的情况下,我需要它既忽略逗号又去除引号(如果可能)。因此,基本上,输出将是以下字符串列表:
['A', 'B', 'C', 'D12121', 'E', 'F', 'G', 'H', 'I9,I8', 'J', 'K']
我已经看过其他一些答案,并且我认为正则表达式是最好的,但是我想出这些答案很糟糕。
拉瑟是对的。这是一个逗号分隔的值文件,因此您应该使用csvmodule。一个简单的例子:
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']