Программа для работы с большими файлами CSV

Есть ли хорошие программы для чтения больших CSV файлов? Некоторые из файлов данных, с которыми я имею дело, находятся в диапазоне 1 ГБ. У них слишком много строк для работы с Excel. Использование Access может быть немного медленным, поскольку вы должны фактически импортировать их в базу данных, чтобы работать с ними напрямую. Есть ли программа, которая может открывать большие файлы CSV и дает вам простой макет электронной таблицы, который поможет вам легко и быстро сканировать данные?

Ответ 1

MySQL может быстро импортировать CSV файлы в таблицы с помощью команды LOAD DATA INFILE. Он также может напрямую считывать файлы CSV, минуя любые процедуры импорта, используя механизм хранения CSV.

Импорт его в собственные таблицы с LOAD DATA INFILE имеет начальную стоимость, но после этого вы можете INSERT/UPDATE быстрее, а также поля индекса. Использование механизма хранения CSV почти мгновенно сначала, но только последовательное сканирование будет быстрым.

Обновить: В этой статье (прокрутите вниз до раздела "Мгновенные загрузки данных" ) рассказывается об использовании обоих подходов к загружая данные CSV в MySQL и приводя примеры.

Ответ 2

Я нашел reCSVeditor - отличная программа для редактирования больших CSV файлов. Он идеально подходит для удаления ненужных столбцов. Я использовал его для файлов в 1 000 000 файлов записей.

Ответ 3

vEdit отлично подходит для этого. Я регулярно открываю более 100 мегабайт (я знаю, что вы сказали до одного концерта, я думаю, что они рекламируют на своем сайте, что могут обрабатывать два раза) файлы с ним. Он имеет поддержку регулярных выражений и множество других функций. 70 долларов дешево для суммы, которую вы можете с ней сделать.

Ответ 4

GVim может обрабатывать файлы, которые являются большими бесплатно, если вы не привязаны к представлению о статическом представлении истинной таблицы электронной таблицы.

Ответ 5

vEdit велик, но не забывайте, что вы всегда можете вернуться к "основам", зайдите Cygwin и начните greping.

Полезные команды

  • grep
  • голова
  • хвост
  • конечно perl!

Ответ 6

Это зависит от того, что вы действительно хотите делать с данными. Учитывая большой текстовый файл, который обычно требуется только для небольшого подмножества данных в любой момент времени, не забудьте такие инструменты, как "grep", чтобы вытащить фрагменты, которые вы хотите искать и работать с ними.

Ответ 7

Если вы можете поместить данные в память и вам понравится python, я рекомендую проверить часть UniTable Augustus. (Отказ от ответственности: Augustus является открытым исходным кодом (GPLv2), но я работаю в компании, которая его пишет.)

Это не очень хорошо документировано, но это должно помочь вам уйти.

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

Это не даст вам прямого интерфейса, но с небольшой работой вы можете быстро получить много статистики.