¿Cuál es una buena manera de editar archivos CSV en Ubuntu?
Los archivos se parecen a esto:
This,is,data,with,a,header
2,2,3,4,,
1,,3,,6,6
,5,3,5,5,6
1,2,,,,
1,2,3,4,8,6
1,,9,,5,9
-1,,3,4,5,6
1,2,0,4,5,6
He estado usando OpenOffice, pero se requieren unos 5 clics para desactivar el comportamiento predeterminado de citar todos los campos.
Me gustaría encontrar algo ligero y fácil de usar que permita insertar / eliminar datos y ordenar por columnas.
ubuntu
text-editors
csv
Andrew Wood
fuente
fuente
Los CsvEditors java (por ejemplo CsvEditor , reCsvEditor ) pueden ser digno de una mirada
fuente
Puede usar gnumeric para este fin. En mi sistema (Crunchbang) y con un archivo tan pequeño como en su ejemplo, el bloc de notas consume aproximadamente 2M de RAM; gnumeric, 4M; y scalc (de LibreOffice), 34M. Gnumeric claramente está en el extremo liviano, y debería detectar su separador correctamente al abrir el archivo.
Pero (hay un pero ...) gnumeric no le permitirá guardar el archivo modificado sin pasar por un obstáculo de menús. Lo que sigue es un script BASH para arreglar esto. El script se basa en xsel (un administrador de portapapeles liviano de línea de comandos) para pegar el contenido modificado de la hoja de cálculo en su archivo. Si se obtiene (no se ejecuta), este script le da acceso a dos funciones, gn para abrir el archivo en gnumeric:
gn filename
y gp para pegar el contenido nuevamente en el archivo y cerrar gnumeric:
gp
(Personalmente, obtengo este script en mi .bashrc para tener las funciones gn y gp disponibles cada vez que abro un terminal).
Como el script mismo le dirá al abrir su archivo con gnumeric, cuando haya terminado con su edición, debe seleccionar la parte de la hoja de cálculo que desea guardar antes de presionar Ctr-C (para copiar esta parte en el portapapeles). Volviendo a la línea de comando (Alt-Tab), ingresando gp actualizará su archivo con el contenido del portapapeles y cerrará gnumeric. Sus valores modificados no tendrán comillas a su alrededor, pero estarán separados por pestañas; por lo tanto, el script usa sed para reemplazar las pestañas por comas.
He encontrado que esta es una manera eficiente de trabajar en archivos de datos CSV desde la línea de comandos. La secuencia de comandos debe guardar el archivo correctamente siempre que no contenga pestañas dentro de los campos separados por comas (que parece ser el caso en su ejemplo de análisis de datos).
fuente
Sé a qué te refieres con {Libre, Open} Office. TBH, nunca he encontrado nada realmente bueno en Linux que también sea liviano.
El "mejor" (sí, en citas irónicas) que he encontrado hasta ahora es una aplicación de Java llamada csveditor. Es bastante limpia, pero realmente no sigue las mejores pautas de IU.
fuente
Yo uso DMcsvEditor . Es rápido y liviano, y tiene algunas opciones útiles básicas.
fuente
Estoy usando phpstorm y tengo que lidiar mucho con los archivos CSV, y admite la edición de ellos en una vista de tabla y funciona mucho mejor que el complemento vim csv.vim o el complemento atómico tablr.
Lo mismo debería aplicarse a sus otros editores, es decir, IntelliJ Idea, Android Studio, Pycharm y RubyMine. No es software libre, pero algunos de sus productos tienen ediciones comunitarias.
(Sin embargo, aún no es perfecto, ya que a veces solo muestra errores de archivo demasiado grandes).
fuente
Sugiero el complemento tablr para el editor Atom.
No es la opción más ligera, pero logra ediciones simples en la menor cantidad de clics.
fuente
Guarde su ejemplo como test.csv y lo abrí con LibreOffice sin ningún problema:
Luego obtuve este diálogo y elegí "coma" como separador:
Hice clic en Aceptar y obtuve esto:
¿Qué más necesitas?
fuente
gawk
:)