Pergunta

Existem bons programas para lidar com a leitura de arquivos CSV grandes?Alguns dos arquivos de dados com os quais lido estão na faixa de 1 GB.Eles têm muitas linhas para o Excel lidar.Usar o Access pode ser um pouco lento, pois você precisa importá-los para um banco de dados para trabalhar diretamente com eles.Existe um programa que pode abrir arquivos CSV grandes e fornecer um layout de planilha simples para ajudá-lo a verificar os dados de maneira fácil e rápida?

Foi útil?

Solução

MySQL pode importar arquivos CSV muito rapidamente para tabelas usando o LOAD DATA INFILE comando.Ele também pode ler arquivos CSV diretamente, ignorando quaisquer procedimentos de importação, usando o Mecanismo de armazenamento CSV.

Importá-lo para tabelas nativas com LOAD DATA INFILE tem um custo inicial, mas depois disso você pode INSERT/UPDATE muito mais rápido, bem como campos de índice.Usar o mecanismo de armazenamento CSV é quase instantâneo no início, mas apenas a varredura sequencial será rápida.

Atualizar: Este artigo (role para baixo até a seção intitulada Cargas instantâneas de dados) fala sobre o uso de ambas as abordagens para carregar dados CSV no MySQL e dá exemplos.

Outras dicas

encontrei reCSVeditor é um ótimo programa para editar arquivos CSV grandes.É ideal para eliminar colunas desnecessárias.Eu usei-o para arquivos de 1.000.000 de arquivos gravados com bastante facilidade.

v é ótimo para isso.Eu rotineiramente abro arquivos de mais de 100 mega (eu sei que você disse até um show, acho que eles anunciam em seu site que pode lidar com o dobro disso).Possui suporte a regex e muitos outros recursos.70 dólares é barato pelo valor que você pode fazer com eles.

O GVim pode lidar com arquivos tão grandes gratuitamente se você não estiver conectado a uma visualização de tamanho de campo estático de planilha verdadeira.

vEdit é ótimo, mas não se esqueça que você sempre pode voltar ao "básico", confira Cygwin e comece a usar o grep.

Comandos úteis

  • grep
  • cabeça
  • cauda
  • claro, perl!

Depende do que você realmente deseja fazer com os dados.Dado um arquivo de texto grande como esse, você normalmente deseja apenas um subconjunto menor de dados por vez, portanto, não negligencie ferramentas como 'grep' para extrair as peças que deseja procurar e trabalhar.

Se você consegue colocar os dados na memória e gosta de python, recomendo verificar a parte UniTable do Augusto.(Isenção de responsabilidade:Augustus é de código aberto (GPLv2), mas trabalho para a empresa que o escreve.)

Não está muito bem documentado, mas deve ajudá-lo a seguir em frente.

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

Ele não fornecerá diretamente uma interface semelhante à do Excel, mas com um pouco de trabalho você poderá obter muitas estatísticas rapidamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top