Saltar al contenido

como quitar las comillas dobles en un csv

Luego de tanto trabajar hemos hallado el arreglo de este atolladero que ciertos de nuestros lectores de nuestra web han tenido. Si quieres compartir algún detalle puedes compartir tu información.

Solución:

Enfoque más simple:

tr -d '"' b.csv

Usar gsub() función de sustitución global

$ awk 'gsub(/"/,"");1' input.csv                    
1,2,3,4,9
1,2,3,6,24
1,2,6,8,28
1,2,4,6,30

Para enviar la salida a un nuevo uso de archivo > operador de shell:

awk 'gsub(/"/,"");1' input.csv > output.csv

tu división a array También se puede usar el enfoque, aunque no es necesario, pero puede usarlo así:

$ awk 'split($0,a,"""); print a[2]' input.cvs       
1,2,3,4,9
1,2,3,6,24
1,2,6,8,28
1,2,4,6,30

Tenga en cuenta que en esta pregunta en particular, el patrón general es que las comillas están al principio y al final de la línea, lo que significa que también podemos tratarlo como un separador de campo, donde el campo 1 es nullel campo 2 es 1,2,3,4y el campo 3 también es null. Así, podemos hacer:

awk -F '"' 'print $2' input.csv

Y también podemos sacar una subcadena de toda la línea:

awk 'print substr($0,2,length($0)-2)' quoted.csv

Hablando de eliminar los primeros y últimos caracteres, hay una publicación completa en stackoverflow sobre eso con otras herramientas como sed y carcasa POSIX.

Otra solución con sed:

sed -e 's/"//g' a.csv > b.csv

Ten en cuenta compartir esta división si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *