Cómo puedo dividir un archivo CSV con Saltos de línea (/n) si los campos contienen cadenas con Saltos de línea (/n) en su interior?
Tengo problemas para dividir un archivo CSV porque algunos de los campos tienen un “\n” dentro de ellos.
Estoy utilizando:
file_data = csv_file.read().decode("utf-8")
csv_data = file_data.split("\n")
pero los campos se ven así:
'string 1','string 2',
'string
3'
'string 4',
Me gustaría que csv_data[0] sea “strings 1 y 2”, csv_data[1] sea “string 3” y csv_data[2] sea “string 4”.
De la forma en la que lo estoy haciendo actualmente, obtengo csv_data[0] correctamente, pero el string 3 está dividido en dos índices debido a que tiene un /n dentro de su texto…
—————[edición]—————
Lo solucioné no utilizando split, sino iterando a través de csv_data (respuesta publicada abajo).
davy.ai
Si tienes problemas para separar un archivo CSV porque algunos de los campos tienen un “\n” en su interior, puedes iterar a través de los datos del CSV en lugar de usar el método split(). Aquí tienes un ejemplo de fragmento de código:
Este código iterará a través de los datos del CSV línea por línea, comprobando si cada línea termina con una coma. Si lo hace, concatenará esa línea con la siguiente y eliminará la siguiente línea de la lista. Esto asegurará que cualquier campo con “\n” en su interior se trate como un único campo. Finalmente, separará cada línea en campos separados y hará algo con ellos (en este ejemplo de código, simplemente imprime los campos).