Trabajo con archivos CSV y, a veces, necesito comprobar rápidamente el contenido de una fila o columna desde la línea de comandos. En muchos casos cut
, head
, tail
, y los amigos harán el trabajo; sin embargo, cut no puede lidiar fácilmente con situaciones como
"this, is the first entry", this is the second, 34.5
Aquí, la primera coma es parte del primer campo, pero cut -d, -f1
no está de acuerdo Antes de escribir una solución yo mismo, me preguntaba si alguien sabía de una buena herramienta que ya existe para este trabajo. Tendría que, como mínimo, ser capaz de manejar el ejemplo anterior y devolver una columna de un archivo con formato CSV. Otras características deseables incluyen la capacidad de seleccionar columnas en función de los nombres de columna dados en la primera fila, soporte para otros estilos de cotización y soporte para archivos separados por tabuladores.
Si no conoce una herramienta de este tipo pero tiene sugerencias sobre la implementación de un programa de este tipo en Bash, Perl o Python, u otros lenguajes de secuencias de comandos comunes, no me importarían esas sugerencias.
Respuesta aceptada:
Puedes usar csv
de Python módulo.
Un ejemplo sencillo:
import csv
reader = csv.reader(open("test.csv", "r"))
for row in reader:
for col in row:
print col