Przekształć ciąg rozdzielony przecinkami na listę, ale w cudzysłowie ignoruj ​​przecinek

Jak przekonwertować"1,,2'3,4'" na listę? Przecinki oddzielają poszczególne elementy, chyba że znajdują się w cudzysłowie. W takim przypadku przecinek ma zostać dołączony do elementu.

To jest pożądany rezultat:['1', '', '2', '3,4']. Jedno wyrażenie regularne, które znalazłem w innym wątku, aby zignorować cytaty, jest następujące:

re.compile(r'''((?:[^,"']|"[^"]*"|'[^']*')+)''')

Ale daje mi to wyjście:

['', '1', ',,', "2'3,4'", '']

Nie rozumiem, skąd pochodzą te dodatkowe puste ciągi i dlaczego w ogóle drukowane są przecinki, a co dopiero razem.

Próbowałem sam zrobić to wyrażenie regularne:

re.compile(r'''(, | "[^"]*" | '[^']*')''')

który nie wykrył niczego i właśnie zwrócił moją oryginalną listę.

Nie rozumiem dlaczego, czy nie powinien wykrywać przecinków przynajmniej? Ten sam problem występuje, gdy dodam? po przecinku.

questionAnswers(2)

yourAnswerToTheQuestion