2008-09-04 34 views
11

¿Hay algún buen programa para tratar la lectura de grandes archivos CSV? Algunos de los archivos de datos con los que trato están en el rango de 1 GB. Tienen demasiadas líneas para Excel como para tratarlas. Usar Access puede ser un poco lento, ya que tienes que importarlos a una base de datos para trabajar con ellos directamente. ¿Hay algún programa que pueda abrir archivos CSV grandes y que le brinde un diseño simple de hoja de cálculo para ayudarlo a escanear los datos de manera fácil y rápida?Programa para trabajar con archivos CSV grandes

+0

Sí, la hay. Puede usar [OpenRefine] [1] (o Google Refine). OpenRefine es como una hoja de cálculo con esteroides. El tamaño del archivo que puede manipular depende de la memoria de su computadora. [1]: http://openrefine.org –

Respuesta

8

MySQL puede importar archivos CSV muy rápidamente en tablas usando el comando LOAD DATA INFILE. También puede leer archivos CSV directamente, evitando cualquier procedimiento de importación, utilizando el CSV storage engine.

Importarlo a tablas nativas con LOAD DATA INFILE tiene un costo de inicio, pero después de eso puede INSERT/UPDATE mucho más rápido, así como también campos de índice. El uso del motor de almacenamiento CSV es casi instantáneo al principio, pero solo el escaneo secuencial será rápido.

actualización: This article (baje hasta la sección titulada cargas de datos instantáneos) habla sobre el uso de ambos enfoques para la carga de datos CSV a MySQL, y da ejemplos.

+0

trabajé con conjuntos de datos MLS de bienes inmuebles que consistían en archivos CSV de 15-30MB. Sin MySQL LOAD INFILE, cada avance habría tardado una hora o más en procesarse ... pero utilizando MySQL y tablas sin procesar reduje el procesamiento a entre 5 y 6 minutos incluso para los conjuntos de datos más grandes. – David

2

vEdit es ideal para esto. De forma rutinaria abro más de 100 megas (sé que dijiste hasta un concierto, creo que anuncian en su sitio, pueden manejar el doble) con él. Tiene soporte para expresiones regulares y muchas otras características. 70 dólares es barato por la cantidad que puede hacer con él.

0

vEdit es genial, pero no olvide que siempre puede volver a "aspectos básicos" echa un vistazo a Cygwin y comenzar greping.

Helpfull comandos

  • grep
  • cabeza
  • cola
  • de Perl, por supuesto!
1

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

0

Depende de lo que realmente quiere hacer con los datos. Dado un archivo de texto grande como ese, normalmente solo deseas un subconjunto más pequeño de los datos en cualquier momento, así que no pases por alto herramientas como 'grep' para extraer las piezas que deseas buscar y con las que trabajar.

0

Si puede ajustar los datos en la memoria y le gusta Python, le recomiendo que consulte la parte UniTable de Augustus. (Descargo de responsabilidad: Augustus es de código abierto (GPLv2) pero trabajo para la compañía que lo escribe).

No está muy bien documentado, pero esto debería ayudarlo a ponerse en marcha.

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

No va directamente le dará un Excel como interfaz, pero con un poco de trabajo se puede obtener muchas estadísticas rápidamente.

7

He encontrado reCSVeditor es un gran programa para editar archivos CSV de gran tamaño. Es ideal para eliminar columnas innecesarias. Lo he usado para archivos con 1,000,000 de archivos de registro con bastante facilidad.

+0

+1 reCSVeditor funcionó para mí con un archivo de casi 2GB de> 2,000,000 filas –

+0

hey, descargué el archivo zip pero no sé cómo usarlo, ¿me pueden indicar cómo hacerlo? – aasthetic

+0

@ richi_18007 Recsveditor descomprime el contenido y luego ejecuta el instalador –

Cuestiones relacionadas