Подтвердить что ты не робот

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

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

Некоторая предыстория: CSV файл представляет собой файл CSV Excel, и человек, который дал файл, сказал, что существует около 2m строк данных.

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

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

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

Ответ 3

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

Ответ 4

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

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

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

Ответ 5

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

Ответ 6

Попробуйте использовать Open Refine. Он смог обрабатывать наборы данных, которые иначе разбивали Excel для меня.

Ответ 7

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

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

Ответ 8

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

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

Ответ 9

"DO I need to ask for a file in an SQL database format?" ДА!!!

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

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

Ответ 10

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

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

Ответ 11

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

Ответ 12

Я настоятельно рекомендую вам импортировать данные в Access, чтобы вы могли запросить его из внутреннего доступа. Вы могли бы попытаться использовать R, чтобы запросить у вас файл, и я бы с удовольствием помог вам. В противном случае вы можете посмотреть бесплатное решение, такое как этот продукт, который позволяет запускать операторы SQL из файла Excel. http://www.querystorm.com/Home/Guide

Ответ 13

Я нашел этот предмет исследования. Есть способ скопировать все эти данные в таблицу данных 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

Ответ 14

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