Transforma una cadena separada por comas en una lista pero ignora las comillas entre comillas
Como me convierto"1,,2'3,4'"
en una lista? Las comas separan los elementos individuales, a menos que estén entre comillas. En ese caso, la coma se incluirá en el elemento.
Este es el resultado deseado:['1', '', '2', '3,4']
. Una expresión regular que encontré en otro hilo para ignorar las citas es la siguiente:
re.compile(r'''((?:[^,"']|"[^"]*"|'[^']*')+)''')
Pero esto me da esta salida:
['', '1', ',,', "2'3,4'", '']
No puedo entender de dónde provienen estas cadenas vacías adicionales y por qué las dos comas se imprimen, y mucho menos juntas.
Intenté hacer esta expresión regular yo mismo:
re.compile(r'''(, | "[^"]*" | '[^']*')''')
que terminó sin detectar nada, y acaba de devolver mi lista original.
No entiendo por qué, ¿no debería detectar las comas por lo menos? El mismo problema ocurre si agrego un?
despues de la coma