На сайте с 05.01.2020
Offline
240
Дык. Задачи определяют. Где СУБД, где Python, а какой шарлатан и BI какому радый.
На сайте с 15.12.2019
Offline
51
Виктор Петров #:
Дык. Задачи определяют. Где СУБД, где Python, а какой шарлатан и BI какому радый.
Я в этом деле мало что понимаю)))
Цель: запихнуть 6 миллионов строк в эксель, обычный файловый, не облачная версия. (ну если это возможно)
На сайте с 08.12.2010
Offline
170
NikSolovov #:
запихнуть 6 миллионов строк в эксель
Как обрабатывать потом? У вас не просто домашний комп, а сервер должен быть, чтобы потом в excel переваривать такое количество строк.
А уж про выполнение на нем функций сортировок или еще каких-то действий — вообще под вопросом.
Проще, как выше написали, работать с такими объемами в БД и дополнительным ПО, если потребуется, на мой взгляд excel для таких объемов малопригоден.
D
На сайте с 06.01.2022
Offline
9
Powerquery
На сайте с 15.12.2019
Offline
51
Алеандр #:
Как обрабатывать потом? У вас не просто домашний комп, а сервер должен быть, чтобы потом в excel переваривать такое количество строк.
А уж про выполнение на нем функций сортировок или еще каких-то действий — вообще под вопросом.
Проще, как выше написали, работать с такими объемами в БД и дополнительным ПО, если потребуется, на мой взгляд excel для таких объемов малопригоден.
У меня комп хороший ryzen 5900 проц оперативки 64. База в миллион летает вроде.
Цель простая: есть 2 столбика на 6 миллионов строк.
Через фильтр вбиваю запрос и получаю все данные по этому запросу.
Сейчас приходится открывать за раз 6 Эксель файлов и делать 6 раз одно и тоже действие.
А хочется все объеденить и за раз вытаскивать данные.
AD
На сайте с 05.05.2007
Offline
231
В Notepad 10+ мильонов строк добавлял, но нужен мощный аппарат.
W1
На сайте с 22.01.2021
Offline
198
Делайте нормальную базу данных и работайте с ней. Excel предназначен для других целей.
На сайте с 13.06.2020
Offline
72
NikSolovov :
Всем привет я так понял в Excel есть ограничения (не могу добавить в 1 файл больше 1 миллиона строк (ну там миллион с копейками получается).
Сейчас разбил на 6 файлов по 1 миллиону, но это жутко неудобно.
Есть какие-то решения или альтернативы? Спасибо.
Попробуйте OpenOffice он полегче MS Excel и сохраняйте файл в формате CSV. Должно получиться с очень большой вероятностью.
P.S. CSV это по сути текстовый файл без лишнего мусора и OpenOffice его кушает на раз два. А работать можно со всеми удобствами таблиц Excel.
На сайте с 18.11.2010
Offline
618
А если так? На php?
Создание и продвижение сайтов — https://alaev.net , аудиты сайтов, контекстная реклама
На сайте с 25.11.2006
Offline
1686
Моя старая инструкция: https://searchengines.guru/ru/forum/877149/page66#comment_15209991
Возможно вам поможет.
Существует ограничение в 1 048 576 строк, которое можно просматривать / просматривать в Excel 2007/2010.
В этом случае файл содержит 1,2 миллиона строк и, таким образом, хотя строки существуют в файле, их нельзя просмотреть / открыть в Excel.
Лицо, предоставляющее данные, предлагает не использовать Excel для открытия файлов.
Один из возможных подходов к просмотру необработанных данных — при условии, что это «распакованный файл.xslx»1) — использовать Блокнот для открытия файла (если Блокнот не работает, запись может). Вот несколько подходов сделать это:
- Щелкните правой кнопкой мыши по файлу и перейдите к «Открыть с помощью -> Выбрать программу по умолчанию..», затем выберите «Блокнот» (обязательно снимите флажок «Всегда использовать..»);
- Переименуйте расширение файла в «.txt», чтобы оно было связано с обычным редактором (возможно, «Блокнотом») по умолчанию;
- Запустите Блокнот, а затем «Открыть» указанный файл.
Если данные были предоставлены в CSV, все строки не могли быть просмотрены в Excel (например, после импорта) из-за указанного ограничения. Если этот файл является «распакованным.xsls», тогда данные уже являются обычным текстом, и файл с расширением.xsls (vs .txt) в значительной степени не имеет значения — расширение существует для ассоциации программы / файла.
Другой вариант — посмотреть, может ли другая программа для работы с электронными таблицами (например, Open Office Calc, Kingsoft Office Suite) отображать такое количество строк. YMMV.
1 Не все файлы «.xslx» одинаковы, и Excel довольно снисходительно относится к формату данных, содержащемуся в файлах с таким расширением, которые можно открыть. В этом случае другой человек кажется уверенным, что разумно рассматривать этот файл как необработанный текст — даже если работа с данными, вероятно, будет громоздкой.
tvit Пользователь Сообщений: 60 |
Добрый день! Подскажите, пожалуйста как оптимально по скорости/памяти решить следующую задачу: Имеются ежемесячные выгрузки из внешней системы, на которую я никак повлиять не могу. Есть справочник клиентов (текстовый файл ~4 млн.записей), в котором хранятся только ФИО + Дата рождения Мне необходимо из первого файла выбрать клиентов которые отсутствуют в справочнике и удовлетворяют определенным условиям. Таких ежемесячно бывает примерно 30-40 тыс. ФИО + ДР отобранных добавляем в справочник. Соответственно, чтобы решить данную задачу мне сейчас необходимо понять следующее: 2. Прежде чем сравнивать массивы, по-любому придется их сортировать по полю ФИО. Подскажите пожалуйста самый быстрый алгоритм, который не использует вспомогательные массивы. Не хочется делать дополнительные копии массива в памяти. |
А точно это должен быть Excel? Тут пора применять Access… |
|
JeyCi Пользователь Сообщений: 3357 |
#3 26.08.2015 17:43:55 в любом случае, я бы посоветовала через ADO+SQL — количество строк знать не надо, обращение к txt c разделителем — как к столбцам, отбор сделать нужной SQL командой… примеры примерно такие: Точное считывание с текстового файла
— и уже в SQL-команду можно вставить нужные условия отбора WHERE, и Сортировку по нужному полю ORDER BY Использование Access для обработки больших текстовых файлов #17 Изменено: JeyCi — 26.08.2015 18:09:51 чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах) |
||
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#4 26.08.2015 20:07:19 Доброе время суток
Такой объём явно выгружен из какой-то базы данных, что-то с трудом вериться, что кто-то в блокноте ведёт эти записи. Стоит ли тогда «огород городить» с выгрузкой и анализом через сравнение массивов, или даже, как предлагают, связывать текстовые данные в Access для построения запросов? Может сразу в этой же базе SQL-запросами получать требуемое? |
||
Hugo Пользователь Сообщений: 23252 |
Думаю вполне можно и кодом работу сделать — сперва читаем справочник в словарь, можно всё в массив, или построчно прочитать. |
tvit Пользователь Сообщений: 60 |
Спасибо всем ответившим, только я другие вопросы задавал. To HUGO: Вариант с заменой массивов словарем рабочий, вопрос только на сколько это будет медленнее по скорости чем с массивами? И еще вопрос, помню как то работал со словарем и там был глюк, который я так и не смог обойти: При проверки наличия значения в словаре оно почему-то самопроизвольно добавлялось в этот словарь, я так и не смог до конца разобраться в проблеме посему так происходит? PS На выгружаемый файл из внешней системы я никак повлиять не могу, считайте что мне его робот по почте присылает |
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#8 27.08.2015 08:05:07 Доброе время суток
Не совсем понимаю суть проблемы, почему нужно другому человеку отправлять исходные данные, чтобы он у себя в Excel их обрабатывал? А почему нельзя отправить уже реализованный результат? |
||||
ikki Пользователь Сообщений: 9709 |
#9 27.08.2015 08:32:34
это будет быстрее. в разы, скорее — в десятки раз.
это не глюк. фрилансер Excel, VBA — контакты в профиле |
||||
tvit Пользователь Сообщений: 60 |
#10 27.08.2015 09:04:35
2010 |
||
tvit Пользователь Сообщений: 60 |
#11 27.08.2015 09:18:26 Получается если считывать в Коллекцию
Данные никто никому не отправляет, другой человек сам их выгрузит из той же внешней системы
Сейчас уже не вспомню, возможно я действительно проверял более «хитрым» способом (присваивание внутри on error) |
||||
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#12 27.08.2015 09:38:01
Вы правда не назвали, что это за система. Но всё равно не понимаю, если человек имеет к ней доступ, то кто мешает ему получать (в том числе и обновляемые) данные, используя SQL, в книгу Excel?
Естественно, CommandText может быть более сложным SQL запросом, чем в приведённом примере. Можно это же сделать и без программирования, задействовав MS Query. Изменено: Андрей VG — 27.08.2015 09:47:06 |
||||
Hugo Пользователь Сообщений: 23252 |
Я думаю что SQL будет работать намного медленнее кода на словаре и массивах. |
Dmitryktm Пользователь Сообщений: 17 |
Попробуйте посмотреть в сторону надстроек Power Pivot или Power Query. Последняя надстройка (PQ) вообще творит чудеса. Может сделать всё что угодно и как угодно без макросов. Поддерживаются следующие версии Office:
|
Поддерживаю Dmitryktm, поэтому и был вопрос про версию. |
|
tvit Пользователь Сообщений: 60 |
Dmitryktm, спасибо, но это не вариант. Я не администратор своей машины, и тот человек кому я передаю программу тоже ничего не сможет установить. Сейчас пробую вариант с коллекциями. Excel занял 1.2 ГБ оперативки. пока работает, Но я на 5 млн пробовал. В след месяцах (декабре и мае) могут быть двойные зачисления, тогда не знаю что будет |
vikttur Пользователь Сообщений: 47199 |
Кнопка цитирования не для ответа |
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#18 27.08.2015 15:38:20 Игорь, зря вы так по поводу SQL. Решил, коль целый день делать нечего с имитировать (упрощённо) задачу ТС. Создал два тестовых файла.
В Users 2 000 000 записей, в UserData 15 409 218 (часть записей для 500 000 ФИО отсутствует в Users). Собственно, задача отобрать в UserData ФИО, которых нет в Users (естественно, без повторений, так как в UserData могут быть сведения об нескольких покупках одного ФИО). В коде выше добавлены процедурой AddNotIn в UserData. Попробовал сделать на словарях, вполне возможно, что допустил какую-то некорректность, код ниже, прошу дать оценку
Подождал некоторое время (минут 15) прервал. Далее, загнал в Access, проиндексировал обе таблицы по полю UserName, далее следующим кодом получил результат за 65 секунд
Ну, и тоже самое для этих же данных, помещённых в MS SQL LocalDb (естественно с индексами по UserName) — результат получен за 13 секунд
Думаю, для столь объёмных данных выводы очевидны. Не забывайте использовать в базах данных индексы и строить запросы так, чтобы эти индексы задействовались. |
||||
Hugo Пользователь Сообщений: 23252 |
Split(pStream.ReadAll, vbCrLf) может быть долго на большом файле, и памяти займёт много. Может лучше читать файл построчно — по времени может чуть дольше (а может и нет), но память должна экономиться. «загнал в Access, проиндексировал обе таблицы по полю UserName» — это время не учитывалось? Но вообще если SQL отработал намного быстрее — то это отлично. Вариант на словаре вроде оптимально написан, но думаю основное время теряется на чтении файлов в массив, и на этих Left$(). |
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#20 27.08.2015 16:39:53
Был и такой вариант — разницы особой не вижу, этот показался, что будет быстрее, по идее в Excel 2010 64bit на ПК с 8Гб памяти поместится должен.
Есть, но slit же индексирует начало массива с 0, хотя согласен For i = LBound(strOut) + 1 — правильнее.
Увы, не потянет — результат почти полмиллиона строк.
Нет, не учитывалось. Я всё пытаюсь довести мысль до tvit, что не логично выгружать данные из базы, чтобы потом кустарным способом делать тоже самое. Правда, не смотря на то, что ТС тут мимо пробегает, что не так и что не устраивает НАГЛО не сообщает. Ни тебе спасибо, ни пожалуйста.
Так она выполняется утилитой импорта, а как писал выше — это время не учитывалось.
С другой стороны SQL и базы для того разрабатывались, чтобы думать над реализаций логики получения данных в требуемом виде, а не над особенностями хранения и выбора лучшего алгоритма получения (хотя и тут присутствуют варианты и свои рекомендации для более быстрого выполнения) P. S. Прогнал ещё на SQLite — 22 секунды — хорош. Изменено: Андрей VG — 27.08.2015 17:08:44 |
||||||||||||
Smiley Пользователь Сообщений: 530 |
Андрей VG, добрый вечер. А можно Вас попросить любопытства ради попробовать вместо DISTINCT группировку? Будет ли быстрее? ЗЫ: а можно в Access еще проиндексировать много полей, чтобы вообще быстро было Изменено: Smiley — 27.08.2015 17:11:20 |
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#22 27.08.2015 18:03:35 Smiley, добрый вечер.
вышло 105 секунд. Изменено: Андрей VG — 27.08.2015 18:05:37 |
||
Smiley Пользователь Сообщений: 530 |
#23 27.08.2015 19:08:43
ну я поэтому и поставил смайлик Учусь программировать |
||
tvit Пользователь Сообщений: 60 |
#24 31.08.2015 15:00:09 Реализовал свою идею через Словари. Скорость приемлемая, за исключением последнего шага. В котором я пытаюсь сохранить Словарь в файл. На меленьких файлах скорость приемлемая, но когда размер справочника 4 млн строк, а размер занимаемой памяти Excel около 1 Гб, сохранение идет очень долго — в минуту не более 1000 строк :
|
||
tvit Пользователь Сообщений: 60 |
Также заметил что размер памяти при закрытии файлов и очистки вспомогательных словарей, уменьшается не сильно. Объем моего справочника 4.5 млн строк в среднем по 45 символов каждая, итого не более 200 Мб, а Эксель занимает около 1 ГБ, не пойму почему |
tvit Пользователь Сообщений: 60 |
Прошу прощения что сразу не отвечал на вопросы. У меня Интернет на отдельной машине. Поэтому форум нет возможности читать регулярно. |
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
Доброе время суток P. S. А не поделитесь — сколько времени у вас уходит на поиск отсутствующих? Изменено: Андрей VG — 31.08.2015 16:36:39 |
tvit Пользователь Сообщений: 60 |
#28 31.08.2015 18:10:09
Завтра на работе запущу и отчитаюсь |
||
tvit Пользователь Сообщений: 60 |
to Андрей VG Построчное считывание файла и занесение во временный словарь: 2 476 710 за 5 минут 47 секунд Построчное считывание 2 файла: 2 025 113 за 4 мин 34 сек При попытке сохранить словарь 2.5 млн строчек в файл, комп умирает. Сохраняется не более 1000 строк в минуту, как бы это ускорить? |
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#30 01.09.2015 19:30:25 Доброе время суток
Хотя не понимаю, почему вы не хотите использовать Jet Access Engine? Изменено: Андрей VG — 01.09.2015 19:33:26 |
||
Содержание
MS Excel
27 сентября, 2017
Евгений Довженко о том, как можно эффективно работать даже с огромными массивами данных.
Любой сотрудник компании, работающий в отделе продаж, финансов, маркетинга, логистики, сталкивается с необходимостью работать с данными, анализировать их.
Excel — незаменимый помощник для достижения этих целей. Мы импортируем информацию, «подтягиваем» ее, систематизируем. На ее основе строим диаграммы, сводные таблицы, планируем, прогнозируем.
Однако в Excel до недавнего времени было 2 важных ограничения:
Мы не могли разместить на рабочем листе Excel более миллиона строк (а наши данные о продажах за 2 года занимают, например, 10 млн строк).
Мы знали, как создать и настроить интерактивные и обновляемые отчеты, но это отнимало много времени.
Единственный инструмент в Excel — сводные таблицы — позволял быстро обрабатывать наши данные.
С другой стороны, есть категория пользователей, которые работают со сложными BI-системами. Это системы бизнес-аналитики (business intelligence), которые дают возможность быстро визуализировать, «крутить» данные и извлекать из них ценную информацию (data mining). Однако внедрение и поддержка таких систем требует значительного участия IT-специалистов и больших финансовых вложений.
До Excel 2010 было четкое разделение на анализ малого и большого объема данных: Excel с одной стороны и сложные BI-системы — с другой.
Начиная с версии 2010, в Excel добавили инструменты, в названиях которых присутствует слово power: Power Query, Power Pivot и Power View. Они позволили сгладить грань между пользователями Excel и комплексных BI-систем.
Power Query
Чтобы работать с данными, к ним нужно подключиться, отобрать, преобразовать или, другими словами, привести их к нужному виду.
Для этого и необходим Power Query. До версии Excel 2013 включительно этот инструмент был в виде надстройки, которую можно было установить бесплатно с сайта Microsoft.
В версии 2016 это уже встроенный в программу инструментарий, находящийся на вкладке «Данные» (Data) в разделе «Скачать и преобразовать» (Get and Transform).
Перечень источников информации, к которым можно подключаться — огромный: от баз данных (их в последней версии 10) до Facebook и Google таблиц (рис. 1).
Рис 1. Выбор источника данных в Power Query
Вот некоторые возможности Power Query по подготовке и преобразованию данных:
отбор строк и столбцов, создание пользовательских (вычисляемых) столбцов
преобразование данных с помощью числовых, текстовых функций, функций даты и времени
транспонирование таблицы, разворачивание по столбцам (Pivot) и наоборот — сворачивание данных, организованных по столбцам, в построчный вид (Unpivot)
объединение нескольких таблиц: как вниз — одну под другую, так и связывание по общей колонке (единому ключу)
Рис 2. Окно редактора Power Query
Ну и конечно, после выгрузки подготовленных данных в Excel они будут автоматически обновляться, если в источнике данных появятся новые строки.
Пример
Компания в своей аналитике использует текущие курсы трех валют, которые ежедневно обновляются на сайте Национального банка.
Таблица на сайте непригодна для прямого использования (рисунок 2-1):
все валюты не нужны
в колонке «Курс» в качестве разделителя целой и дробной частей используется точка (в наших региональных настройках — запятая)
в колонке «Курс» отображается показатель за разное количество единиц валюты: за 100, за 1000 и т. д. (указано в отдельной колонке «Количество единиц»)
Рис. 2-1. Так выглядит таблица с курсами валют на сайте Нацбанка.
С помощью Power Query мы подключаемся к таблице текущих курсов валют на сайте НБУ и в этом редакторе готовим запрос на извлечение данных:
В колонке «Курс» меняем точку на запятую (инструмент «Замена значений»).
Создаем вычисляемый столбец, в котором курсы валют в колонке «Курс» делятся на количество единиц валюты из колонки «Количество единиц».
Удаляем лишние столбцы и оставляем только строки валют, с которыми работаем.
Выгружаем полученную таблицу на рабочий лист Excel.
Результат показан на рисунке 2-2.
Рис. 2-2. Так выглядит результирующая таблица в нашем Excel файле.
Курсы валют на сайте Нацбанка меняются каждый день. Но при обновлении данных в документе Excel наш, один раз подготовленный, запрос пройдет через все шаги, и результирующая таблица всегда будет в нужном виде, но уже с актуальными курсами.
Power Pivot
У вас данные находятся в разрозненных источниках? Некоторые таблицы содержат больше 1 млн строк? Вам нужно все это объединить в одну модель данных и анализировать с помощью, например, сводной таблицы Excel? Здесь понадобится Power Pivot — надстройка Excel, которая по умолчанию включена в версии Pro Plus и выше (начиная с версии 2010).
В Power Pivot вы можете добавлять данные из разных источников, связывать таблицы между собой (рисунок 3). Таблицы при этом не обязательно должны находиться на рабочих листах Excel. Вместо этого они по-прежнему будут храниться в файле Excel, но просматривать их можно в окне Power Pivot (рис. 4). Поэтому нет ограничения на количество строк — в вашем файле Excel могут находиться таблицы и в сотни миллионов строк.
Рис. 3. Окно Power Pivot в представлении диаграммы
Рис. 4. Окно Power Pivot в представлении данных
Вот некоторые возможности Power Pivot, помимо описанных выше:
добавлять вычисляемые столбцы и поля (меры), в том числе основанные на расчетах из нескольких таблиц
создавать и мониторить в сводной таблице ключевые показатели эффективности (KPI)
создавать иерархические структуры (например, по географическому признаку — регион, область, город, район)
И обрабатывать все это с помощью сводной таблицы Excel, построенной на модели данных.
Пример. У предприятия в базе данных (или отдельных файлах Excel) в 5 таблицах хранится информация о продажах, клиентах, товаре и его классификации, менеджерах по продажам и закупочных ценах продукции. Необходимо провести анализ по объемам продаж и маржинальности по менеджерам.
С помощью Power Pivot:
добавляем все 5 таблиц в модель данных
связываем таблицы по общим ключам (столбцам)
в таблице «Продажи» создаем вычисляемый столбец «Продажи в закупочных ценах», умножив количество штук из таблицы «Продажи» на закупочную цену из таблицы «Цена закупки»
создаем вычисляемое поле (меру) «Маржа»
с помощью инструмента «Ключевые показатели эффективности» устанавливаем цель по маржинальности и настраиваем визуализацию — как выполнение цели будет визуализироваться в сводной таблице
Теперь можно «крутить» эти данные в сводной таблице или в отчете Power View (следующий инструмент) и анализировать маржинальность по товарам, менеджерам, регионам, клиентам.
Power View
Иногда сводная таблица — не лучший вариант визуализации данных. В таком случае можно создавать отчеты Power View. Как и Power Pivot, Power View — это надстройка Excel, которая по умолчанию включена в версии Pro Plus и выше (начиная с версии 2010).
В отличие от сводной таблицы, в отчет Power View можно добавлять диаграммы и другие визуальные объекты. Здесь нет такого количества настроек, как в диаграммах Excel. Но в том то и сила инструмента — мы не тратим время на настройку, а быстро создаем отчет, визуализирующий данные в определенном разрезе.
Вот некоторые возможности Power View:
— быстро добавлять в отчет таблицы, диаграммы (без необходимости настройки)
организовывать срезы и фильтры
уходить на разные уровни детализации данных
добавлять карты и располагать на них данные
создавать анимированные диаграммы
Пример отчета Power View — на рисунке 5.
Рис. 5. Пример отчета Power View
Даже самые внушительные массивы данных можно систематизировать и визуализировать — главное не ограничиваться поверхностными возможностями Excel, а брать из его функций все возможное.
Хотите получать дайджест статей?
Одно письмо с лучшими материалами за неделю. Подписывайтесь, чтобы ничего не упустить.
Спасибо за подписку!
Курс по теме:
«Advanced Excel»
Программы
Ведет
Никита
Свидло
16 мая
13 июня
0 / 0 / 0 Регистрация: 13.06.2021 Сообщений: 23 |
|
1 |
|
Документ более миллиона строк19.05.2022, 20:50. Показов 1849. Ответов 16
Приветствую, имеется документ где храниться около 1.5млн строк, при открытии выводиться сообщение о лимите, вопрос, как можно разделить документ не открывая его на два разных? что в каждом было к примеру по 700т и ограничение не срабатывало
0 |
ᴁ® 3070 / 1736 / 361 Регистрация: 13.12.2016 Сообщений: 5,937 Записей в блоге: 4 |
|
19.05.2022, 20:59 |
2 |
имеется документ где храниться около 1.5млн строк А какое чудо такой документ создало? Вот этим чудом и откройте.
0 |
0 / 0 / 0 Регистрация: 13.06.2021 Сообщений: 23 |
|
19.05.2022, 21:03 [ТС] |
3 |
А какое чудо такой документ создало? Вот этим чудом и откройте Выгрузка с бд, что бы просмотреть массово категории, не ожидал, что превысит 1млн строк
0 |
144 / 126 / 50 Регистрация: 25.06.2015 Сообщений: 375 |
|
19.05.2022, 21:06 |
4 |
Реально чудо какое-то…
0 |
ᴁ® 3070 / 1736 / 361 Регистрация: 13.12.2016 Сообщений: 5,937 Записей в блоге: 4 |
|
19.05.2022, 21:08 |
5 |
Выгрузка с бд, Дробите выгрузку. Выгружаете в какой формат?
0 |
0 / 0 / 0 Регистрация: 13.06.2021 Сообщений: 23 |
|
19.05.2022, 21:14 [ТС] |
6 |
Теоретически может помочь power query — подключение к файлу, фильтр, делящий таблицу на две части -> вывод данных. А vbs скриптом это не реально ? грубо говоря указывать после какой строки вырезать данные на отдельный файл Добавлено через 2 минуты
Дробите выгрузку. Выгружаете в какой формат? В этом то и прикол, что выгрузить позволяет только xslx, дальше функционала пока нету, раздробить ее нельзя, сервер не справляется, если скипать полмиллиона
0 |
ᴁ® 3070 / 1736 / 361 Регистрация: 13.12.2016 Сообщений: 5,937 Записей в блоге: 4 |
|
19.05.2022, 21:26 |
7 |
В этом то и прикол, что выгрузить позволяет только xslx Я сталкивался с таким, когда выгружал с сервера данные по камерам наблюдения о номерах машин за период…
0 |
0 / 0 / 0 Регистрация: 13.06.2021 Сообщений: 23 |
|
19.05.2022, 21:30 [ТС] |
8 |
А может все упирается в версию Офиса? Я ограничений для версий не смотрел. Я тоже так думал, но нет, версия 2021-го года
0 |
ᴁ® 3070 / 1736 / 361 Регистрация: 13.12.2016 Сообщений: 5,937 Записей в блоге: 4 |
|
19.05.2022, 21:34 |
9 |
Я тоже так думал, но нет, версия 2021-го года С принимающей стороной разобрались. А что с передающей?
0 |
0 / 0 / 0 Регистрация: 13.06.2021 Сообщений: 23 |
|
19.05.2022, 21:42 [ТС] |
10 |
А что с передающей? Тут информацией к сожалению не владею
0 |
ᴁ® 3070 / 1736 / 361 Регистрация: 13.12.2016 Сообщений: 5,937 Записей в блоге: 4 |
|
19.05.2022, 21:43 |
11 |
1 048 576 строк и 16 384 столбца -посмотрел ограничения Добавлено через 42 секунды
Тут информацией к сожалению не владею Я тоже- задайте вопрос владеющей стороне.
0 |
0 / 0 / 0 Регистрация: 13.06.2021 Сообщений: 23 |
|
19.05.2022, 21:49 [ТС] |
12 |
1 048 576 строк и 16 384 столбца -посмотрел ограничения Да, вот с этим и столкнулся, есть два файла таких же(разделенных), но без сортировки по алфавиту, как планировал, выкачать уже отсортированный и потом разделить на два
0 |
ᴁ® 3070 / 1736 / 361 Регистрация: 13.12.2016 Сообщений: 5,937 Записей в блоге: 4 |
|
19.05.2022, 21:54 |
13 |
Nacu27, ну если хотите поэкспериментировать переименуйте в zip и разделите ручками. Подробности не буду — поищите в сети. Я делал многие фокусы так. И снятие паролей и т.п.
0 |
малоболт 1143 / 442 / 193 Регистрация: 30.01.2020 Сообщений: 1,095 |
|
19.05.2022, 21:57 |
14 |
Сообщение было отмечено Nacu27 как решение Решение
Думал можно vbs скриптом разделить на две части после указанной в нем строки, но в этом я ноль 1. Можно попробовать следующее: Можно всё вышеописанное попробовать сделать VBS-скриптом или на VBA макросом (особенно перенумерование строк для 2 копии). Но хорошо бы проверить, что это рабочий алгоритм в вашем случае.
1 |
малоболт 1143 / 442 / 193 Регистрация: 30.01.2020 Сообщений: 1,095 |
|
20.05.2022, 09:24 |
15 |
есть два файла таких же(разделенных), но без сортировки по алфавиту Я правильно понял, что таким образом проблема уже решилась? И больше не надо ничего пытаться писать для разбивки одного сверхбольшого файла? Вы просто отсортируете информацию в этих 2 файлах и используете их.
0 |
1 / 1 / 0 Регистрация: 26.05.2022 Сообщений: 23 |
|
26.05.2022, 14:55 |
16 |
А сколько вообще максимально должно быть строк на листе в Excel?
0 |
5942 / 3154 / 698 Регистрация: 23.11.2010 Сообщений: 10,524 |
|
26.05.2022, 15:48 |
17 |
Галкина, вообще-то тут об этом написано
1 048 576 строк и 16 384 столбца -посмотрел ограничения
1 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
26.05.2022, 15:48 |
Помогаю со студенческими работами здесь Как Excel документ, в котором 10000 строк, разбить по 10 строк и сохранить каждые 10 строк в отдельный файл Дан двумерный массив, который содержит не более 20 строк и не более 5 столбцов Дана прямоугольная таблица, которая содержит не более 10 строк и не более 10 столбцов Из произвольного текста, содержащего не более 10 строк, в каждой строке не более 80 символов в произвольном тексте, содержание не более 10 строк, в каждой строке не более 80 символов, удалить из слова пе Дана прямоугольная таблица, которая содержит не более 10 строк и не более 10 столбцов. Найти сумму элементов, Дана прямоугольная таблица которая содержит не более 10 строк и не более 10 столбцов. Вывести только те элемен Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 17 |
Вопрос
Мне дали CSV-файл, содержащий больше, чем MAX Excel может обработать, и мне очень нужно иметь возможность видеть все данные. Я понял и попробовал метод «разделения», но он не работает.
Немного предыстории: CSV-файл — это файл Excel CSV, и человек, который дал файл, сказал, что в нем около `2 млн. строк данных.
Когда я импортирую его в Excel, я получаю данные до строки 1,048,576
, затем повторно импортирую его в новой вкладке, начиная со строки 1,048,577
в данных, но это дает мне только одну строку, а я точно знаю, что их должно быть больше (не только из-за того, что «человек» сказал, что их больше 2 миллионов, но и из-за информации в последних нескольких наборах строк).
Я подумал, что, возможно, причина этого в том, что мне предоставили CSV-файл в формате Excel CSV, и поэтому вся информация после 1,048,576
потеряна (?).
Нужно ли мне запрашивать файл в формате базы данных SQL?
42
2013-06-05T16:37:49+00:00
12
Ответ на вопрос
30-го июня 2013 в 3:23
2013-06-30T15:23:08+00:00
#19566374
Попробуйте delimit, он может быстро открыть до 2 миллиардов строк и 2 миллионов столбцов, есть бесплатная 15-дневная пробная версия. Для меня это отличная работа!
Ответ на вопрос
30-го апреля 2014 в 9:19
2014-04-30T09:19:24+00:00
#19566377
Я бы предложил загрузить файл .CSV в MS-Access.
Затем в MS-Excel вы можете создать соединение данных с этим источником (без фактической загрузки записей в рабочий лист) и создать подключенную поворотную таблицу. Вы можете иметь практически неограниченное количество строк в таблице (в зависимости от процессора и памяти: у меня сейчас 15 миллионов строк при 3 Гб памяти).
Дополнительным преимуществом является то, что теперь вы можете создавать агрегированные представления в MS-Access. Таким образом, вы можете создавать обзоры из сотен миллионов строк и затем просматривать их в MS-Excel (помните об ограничении в 2 Гб для файлов NTFS в 32-битных ОС).
Ответ на вопрос
11-го сентября 2013 в 3:39
2013-09-11T15:39:03+00:00
#19566375
Сначала нужно изменить формат файла с csv на txt. Это легко сделать, просто отредактируйте имя файла и измените csv на txt. (Windows выдаст предупреждение о возможном повреждении данных, но все в порядке, просто нажмите OK). Затем сделайте копию txt-файла, чтобы теперь у вас было два файла с 2 миллионами строк данных. Затем откройте первый txt-файл, удалите второй миллион строк и сохраните файл. Затем откройте второй файл txt, удалите первый миллион строк и сохраните файл. Теперь измените оба файла обратно в csv так же, как вы изменили их в txt.
Ответ на вопрос
5-го июня 2013 в 4:49
2013-06-05T16:49:59+00:00
#19566372
Excel 2007+ ограничен количеством строк, несколько превышающим 1 миллион (2^20, если быть точным), поэтому он никогда не загрузит ваш файл с 2 миллионами строк. Я думаю, что техника, на которую вы ссылаетесь как на разделение, является встроенной в Excel, но afaik она работает только для ширины проблем, а не для длины проблем.
Действительно самый простой способ, который я вижу сразу, это использовать какой-нибудь инструмент для разделения файлов — их там ‘куча и использовать его для загрузки полученных частичных csv файлов в несколько рабочих листов.
ps: «excel csv файлы» не существуют, есть только файлы, создаваемые Excel, которые используют один из форматов, обычно называемых csv файлами…
Simple Text Splitter download | SourceForge.net
Download Simple Text Splitter for free. A very simple text splitter that can split text based files (txt, log, srt etc.) into smaller chunks.
sourceforge.net
Microsoft Support
Microsoft support is here to help you with Microsoft products. Find how-to articles, videos, and training for Office, Windows, Surface, and more.
office.microsoft.com
Ответ на вопрос
5-го апреля 2016 в 1:15
2016-04-05T13:15:51+00:00
#19566379
Если у вас есть Matlab, вы можете открывать большие файлы CSV (или TXT) через его импорт. Инструмент предоставляет различные параметры формата импорта, включая таблицы, векторы столбцов, числовую матрицу и т. Д. Однако, поскольку Matlab является пакетом интерпретаторов, для импорта такого большого файла требуется свое время, и я смог импортировать его с более чем 2 миллионами строк примерно за 10 минут.
Инструмент доступен через вкладку «Главная» Matlab, нажав кнопку «Импорт данных». Пример изображения большой загрузки файла показан ниже:
После импорта данные отображаются в рабочей области справа, которая затем может быть дважды щелкнута в формате Excel и даже нанесена на график в разных форматах.
Ответ на вопрос
18-го мая 2018 в 8:20
2018-05-18T20:20:52+00:00
#19566382
Я смог без проблем отредактировать большой файл csv объемом 17 ГБ в Sublime Text (нумерация строк позволяет намного легче отслеживать ручное разделение), а затем свалить его в Excel на куски размером менее 1 048 576 строк. Просто и довольно быстро — менее глупо, чем исследование, установка и обучение индивидуальных решений. Быстро и грязно, но это работает.
Ответ на вопрос
22-го ноября 2016 в 6:42
2016-11-22T06:42:00+00:00
#19566380
Используйте MS Access. У меня есть файл из 2 673 404 записей. Он не откроется в блокноте ++, и Excel не загрузит более 1 048 576 записей. Он ограничен вкладкой, поскольку я экспортировал данные из базы данных mysql, и они мне нужны в формате csv. Поэтому я импортировал его в Access. Измените расширение файла на .txt, чтобы MS Access провел вас через мастер импорта.
MS Access свяжется с вашим файлом, чтобы база данных оставалась неизменной и сохраняла файл csv
Ответ на вопрос
4-го сентября 2019 в 5:55
2019-09-04T05:55:25+00:00
#19566383
Я нашел этот предмет исследования.
Существует способ скопировать все эти данные в таблицу данных Excel.
(У меня есть эта проблема раньше с файлом CSV из 50 миллионов строк)
Если есть какой-либо формат, дополнительный код может быть включен.
Попробуй это.
Ответ на вопрос
5-го мая 2015 в 3:21
2015-05-05T15:21:05+00:00
#19566378
Разделите CSV на два файла в блокноте. Это боль, но после этого вы можете просто редактировать каждый из них по отдельности в Excel.
Похожие сообщества
2