Excel CSV. файл с более чем 1 048 576 строками данных

Мне дали CSV-файл, содержащий больше, чем MAX Excel может обработать, и мне очень нужно иметь возможность видеть все данные. Я понял и попробовал метод "разделения", но он не работает.

Немного предыстории: CSV-файл - это файл Excel CSV, и человек, который дал файл, сказал, что в нем около `2 млн. строк данных.

Когда я импортирую его в Excel, я получаю данные до строки 1,048,576, затем повторно импортирую его в новой вкладке, начиная со строки 1,048,577 в данных, но это дает мне только одну строку, а я точно знаю, что их должно быть больше (не только из-за того, что "человек" сказал, что их больше 2 миллионов, но и из-за информации в последних нескольких наборах строк).

Я подумал, что, возможно, причина этого в том, что мне предоставили CSV-файл в формате Excel CSV, и поэтому вся информация после 1,048,576 потеряна (?).

Нужно ли мне запрашивать файл в формате базы данных SQL?

Комментарии к вопросу (4)

Попробуйте delimit, он может быстро открыть до 2 миллиардов строк и 2 миллионов столбцов, есть бесплатная 15-дневная пробная версия. Для меня это отличная работа!

Комментарии (5)

Я бы предложил загрузить файл .CSV в MS-Access.

Затем в MS-Excel вы можете создать соединение данных с этим источником (без фактической загрузки записей в рабочий лист) и создать подключенную поворотную таблицу. Вы можете иметь практически неограниченное количество строк в таблице (в зависимости от процессора и памяти: у меня сейчас 15 миллионов строк при 3 Гб памяти).

Дополнительным преимуществом является то, что теперь вы можете создавать агрегированные представления в MS-Access. Таким образом, вы можете создавать обзоры из сотен миллионов строк и затем просматривать их в MS-Excel (помните об ограничении в 2 Гб для файлов NTFS в 32-битных ОС).

Комментарии (2)

Сначала нужно изменить формат файла с csv на txt. Это легко сделать, просто отредактируйте имя файла и измените csv на txt. (Windows выдаст предупреждение о возможном повреждении данных, но все в порядке, просто нажмите OK). Затем сделайте копию txt-файла, чтобы теперь у вас было два файла с 2 миллионами строк данных. Затем откройте первый txt-файл, удалите второй миллион строк и сохраните файл. Затем откройте второй файл txt, удалите первый миллион строк и сохраните файл. Теперь измените оба файла обратно в csv так же, как вы изменили их в txt.

Комментарии (6)

Excel 2007+ ограничен количеством строк, несколько превышающим 1 миллион (2^20, если быть точным), поэтому он никогда не загрузит ваш файл с 2 миллионами строк. Я думаю, что техника, на которую вы ссылаетесь как на разделение, является встроенной в Excel, но afaik она работает только для ширины проблем, а не для длины проблем.

Действительно самый простой способ, который я вижу сразу, это использовать какой-нибудь инструмент для разделения файлов - их там 'куча и использовать его для загрузки полученных частичных csv файлов в несколько рабочих листов.

ps: "excel csv файлы" не существуют, есть только файлы, создаваемые Excel, которые используют один из форматов, обычно называемых csv файлами...

Комментарии (2)

Вы можете использовать PowerPivot для работы с файлами размером до 2 ГБ, чего будет достаточно для ваших нужд.

Комментарии (1)

Я удивлен, что никто не упомянул Microsoft Query. Вы можете просто запросить данные из большого файла CSV по мере необходимости, запрашивая только то, что вам нужно. (Запрос настраивается так же, как вы фильтруете таблицу в Excel)

А еще лучше, если вы открыты для установки надстройки Power Query, это очень просто и быстро. Примечание. Power Query является надстройкой на 2010 и 2013 годы, но поставляется с 2016 годом.

Комментарии (0)

Если у вас есть Matlab, вы можете открывать большие файлы CSV (или TXT) через его импорт. Инструмент предоставляет различные параметры формата импорта, включая таблицы, векторы столбцов, числовую матрицу и т. Д. Однако, поскольку Matlab является пакетом интерпретаторов, для импорта такого большого файла требуется свое время, и я смог импортировать его с более чем 2 миллионами строк примерно за 10 минут.

Инструмент доступен через вкладку «Главная» Matlab, нажав кнопку «Импорт данных». Пример изображения большой загрузки файла показан ниже: После импорта данные отображаются в рабочей области справа, которая затем может быть дважды щелкнута в формате Excel и даже нанесена на график в разных форматах.

Комментарии (0)

Я смог без проблем отредактировать большой файл csv объемом 17 ГБ в Sublime Text (нумерация строк позволяет намного легче отслеживать ручное разделение), а затем свалить его в Excel на куски размером менее 1 048 576 строк. Просто и довольно быстро - менее глупо, чем исследование, установка и обучение индивидуальных решений. Быстро и грязно, но это работает.

Комментарии (0)

Используйте MS Access. У меня есть файл из 2 673 404 записей. Он не откроется в блокноте ++, и Excel не загрузит более 1 048 576 записей. Он ограничен вкладкой, поскольку я экспортировал данные из базы данных mysql, и они мне нужны в формате csv. Поэтому я импортировал его в Access. Измените расширение файла на .txt, чтобы MS Access провел вас через мастер импорта.

MS Access свяжется с вашим файлом, чтобы база данных оставалась неизменной и сохраняла файл csv

Комментарии (0)

«Мне нужно попросить файл в формате базы данных SQL?" ДА!!!

Использование базы данных, это лучший вариант для этой проблемы.

Excel 2010 спецификации.

Комментарии (0)

Я нашел этот предмет исследования. Существует способ скопировать все эти данные в таблицу данных Excel. (У меня есть эта проблема раньше с файлом CSV из 50 миллионов строк) Если есть какой-либо формат, дополнительный код может быть включен. Попробуй это.

Sub ReadCSVFiles()

Dim i, j As Double
Dim UserFileName As String
Dim strTextLine As String
Dim iFile As Integer: iFile = FreeFile

UserFileName = Application.GetOpenFilename
Open UserFileName For Input As #iFile
i = 1
j = 1
Check = False

Do Until EOF(1)
    Line Input #1, strTextLine
    If i >= 1048576 Then
        i = 1
        j = j + 1
    Else
        Sheets(1).Cells(i, j) = strTextLine
        i = i + 1
    End If
Loop
Close #iFile
End Sub
Комментарии (0)

Разделите CSV на два файла в блокноте. Это боль, но после этого вы можете просто редактировать каждый из них по отдельности в Excel.

Комментарии (1)