Pregunta

¿Existen buenos programas para leer archivos CSV grandes?Algunos de los archivos de datos con los que trato están en el rango de 1 GB.Tienen demasiadas líneas para que Excel las pueda manejar.Usar Access puede ser un poco lento, ya que tienes que importarlos a una base de datos para trabajar con ellos directamente.¿Existe algún programa que pueda abrir archivos CSV de gran tamaño y brindarle un diseño de hoja de cálculo simple para ayudarlo a escanear los datos fácil y rápidamente?

¿Fue útil?

Solución

MySQL puede importar archivos CSV muy rápidamente a tablas usando el LOAD DATA INFILE dominio.También puede leer archivos CSV directamente, sin pasar por ningún procedimiento de importación, utilizando el motor de almacenamiento CSV.

Importándolo a tablas nativas con LOAD DATA INFILE tiene un costo inicial, pero después de eso puedes INSERT/UPDATE mucho más rápido, así como campos de índice.El uso del motor de almacenamiento CSV es casi instantáneo al principio, pero sólo el escaneo secuencial será rápido.

Actualizar: Este artículo (desplácese hacia abajo hasta la sección titulada Cargas de datos instantáneas) habla sobre el uso de ambos enfoques para cargar datos CSV en MySQL y brinda ejemplos.

Otros consejos

He encontrado reCSVeditor es un gran programa para editar archivos CSV grandes.Es ideal para eliminar columnas innecesarias.Lo he usado para archivos de 1.000.000 de registros con bastante facilidad.

vEditar es genial para esto.Rutinariamente abro archivos de más de 100 megas (sé que dijiste hasta un concierto, creo que anuncian en su sitio que puede manejar el doble).Tiene soporte para expresiones regulares y muchas otras características.70 dólares es barato para la cantidad que puedes ganar con él.

GVim puede manejar archivos de ese tamaño de forma gratuita si no está conectado a una vista de campo estática de hoja de cálculo real.

vEdit es genial, pero no olvides que siempre puedes volver a "básicos". Cygwin y empezar a grepar.

Comandos útiles

  • grep
  • cabeza
  • cola
  • ¡Por supuesto perla!

Depende de lo que realmente quieras hacer con los datos.Dado un archivo de texto grande como ese, normalmente solo desea un subconjunto más pequeño de datos a la vez, así que no pase por alto herramientas como 'grep' para extraer las piezas que desea buscar y con las que desea trabajar.

Si puedes guardar los datos en la memoria y te gusta Python, te recomiendo que consultes la parte UniTable de Augusto.(Descargo de responsabilidad:Augustus es de código abierto (GPLv2), pero trabajo para la empresa que lo escribe).

No está muy bien documentado, pero esto debería ayudarte a empezar.

from augustus.kernel.unitable import *
a = UniTable().from_csv_file('filename')
b = a.subtbl(a['key'] == some_value) #creates a subtable

No le brindará directamente una interfaz similar a la de Excel, pero con un poco de trabajo puede obtener muchas estadísticas rápidamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top