Python关于将字符串进行分割并返回成一个列表???

原字符串是:str='a,b,c,"d,e,f",g,h'
需要返回的列表是:['a','b','c','d,e,f','g','h']
我目前用的是str.spilt(','),得到的列表是['a',b','c','d','e','f','g','h'],但这不是我想要的,我想要返回列表['a','b','c','d,e,f','g','h'],哪位大神可以帮我一下

直接strip,然后再加上'不就行了

首先要把字符串里面的双引号去掉,再用split方法

import re
test= 'a,b,c,"d,e,f",g,h'
test = re.sub('"','',test)
print(test.split(','))

图片说明

import csv
str='a,b,c,"d,e,f",g,h'
newStr = ['{}'.format(x) for x in list(csv.reader([str], delimiter=','))[0]]
print (newStr)

图片说明

str = 'a,b,c,"d,e,f",g,h'
str2 = 'a,b,c,"d,e,f",g,h,"a,a,d,d",s,f,"c,c",k'


def myStrToList(str_arg):
    re_list = []
    count = 0
    tmp_str = ''
    str_arg = str_arg.replace(',', '')
    for line in str_arg:
        if line == '"':
            count += 1
            if count == 2:
                count = 0
                if len(tmp_str) > 0:
                    re_list.append(tmp_str[0:-1])
                    tmp_str = ''
                else:
                    re_list.append(line)
        elif count == 1:
            tmp_str += line + ','
        elif count == 0:
            re_list.append(line)
    return re_list


print(myStrToList(str))
print(myStrToList(str2))