es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Escribir en un Csv con comillas presentes.

Me encuentro con un problema al utilizar write.table(). Estoy escribiendo un dataframe en un archivo CSV y cada vez que una columna tiene una comilla “””, los datos no se escriben como me gustaría.

Estoy intentando escribir este dataframe en un archivo CSV:

activity          date         status
widen table by 5" 01-05-2022     Y
router holes      01-25-2022     G
cut wood          02-03-2022     R

La actividad en la primera fila se está escribiendo de manera extraña para mí. Cuando la escribo en un archivo CSV, aparece así:

activity               date         status
widen table by 5\",P" 01-05-2022     Y
router holes          01-25-2022     G
cut wood              02-03-2022     R

Este es el código que estoy utilizando para escribir en un archivo CSV:

write.table(df, "df.csv", sep = ",", row.names = FALSE, col.names = !file.exists("df.csv"), 
append = T)
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El problema que estás enfrentando se debe a la presencia de una comilla (“”) en la primera fila de la columna de actividad. Al escribir en un archivo csv, las comillas deben escaparse para ser correctamente interpretadas. En este caso, se está utilizando la barra invertida () para escapar la comilla.

    Para solucionar este problema, puedes utilizar el argumento quote en la función write.table() y establecerlo como TRUE. Esto asegurará que las comillas en los datos sean correctamente escapadas y escritas en el archivo csv.

    Aquí está el código modificado:

    write.table(df, "df.csv", sep = ",", row.names = FALSE, col.names = !file.exists("df.csv"), 
                append = TRUE, quote = TRUE)
    

    Esto debería escribir correctamente los datos en el archivo csv y escapar cualquier comilla en los datos.

Comments are closed.