Почему одни и те же данные занимают больше места в текстовом файле, чем в файле Excel?

У меня около 100000 строк данных. Если бы я сохранить эти данные в текстовый формат, он занимает больше места, чем если бы я сохранить его в файл формата Excel. Почему?

[В форматеконтакты] (https://msdn.microsoft.com/en-us/library/ee908654.aspx) используется современными Excel-это фактически сжатый формат. Это's в zip-архив, содержащий текст (XML) файлы в определенную структуру.

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

Кроме того, как отметил Uffner Брэдли и Морген в комментариях, Excel будет дубликатов идентичные строки и хранить только одну копию. Я'м не уверен о точном отдача от такой способ, и это будет зависеть от вашего набора данных, но простой zip-сжатие, вероятно, получите вы большую часть пути там.<суп>1</SUP и ГТ;


9.1.3 физический пакеты

В каждом офисе открыть документ в формате XML реализована в виде zip-архива.

ЕСМА-376-1:2016


<суп>1</суп> я думаю, что это дедупликации является наиболее эффективным, когда у вас есть несколько листов, так как zip сжатие применяется независимо к каждому файлу в архиве и только на ограниченных участках данные по времени за счет хранения всех строк в один файл, не должно быть какой-либо пользы для поздних сжатия. Более практически, если в обычном текстовом формате в одном файле, все равно потом там'Лл, вероятно, быть немного разница.

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

Данный ответ является правильным, это связано в Excel хранение данных в формате XML. Это тоже из-за этого, что эффективной сортировки ваших данных также позволит уменьшить размер файла. Проверить это самостоятельно - скажем, у вас есть данные, как

A            B                              C
John         Smith-Johnson-Williamson       12345
Sally        Smith-Johnson-Williamson       67890
John         Williams                       34567

Если вы Сортировать по С (столбец со всеми или почти всеми уникальными значениями), то одинаковые значения B не будет рядом. В Excel'ы в XML это выглядит так:



Если вы Сортировать по Б (столбец с общими ценностями), то одинаковые значения являются смежными. В Excel'ы в XML это выглядит так:



Потому что длинные строки идентичны и рядом, в Excel знает, что может собрать их вместе, подобно тому, когда люди пишут списки, и повторить часть выше линии, они цитаты типа, а не переписывать то же самое. Я не нашел каких-либо доказательств общая строки словаря в мое расследование - это просто углубление в месте повторяется значение поля.

У меня были рассылки от 250 000 клиентов по всей только 11 государств, и в каждой записи есть поле, которое было одним из двух строк, идентифицирующих предлагаем их вам. Сотрудники нашей компании были почему-то привыкли люди, что на их адрес как говорили, так и было, отсортированные по улице номер столбца, затем название улицы, город, и т. д... Когда я прибежал на предложение сначала, потом штат, почтовый код, город, название улицы, номер дома, и, наконец, заняться он-лайн-2, Размер файла был уменьшен невероятно. Я проверил распакованный XML на файл, отсортированный в каждую сторону, чтобы увидеть, что происходит, и над чем я выводил. Если существует несколько полей с более чем скажем 5 символов, но значения из ограниченного набора (скажем, авиабилет диспозиций, как 'решено','забраковали','утверждена' и т. д.), то дайте некоторую мысль к сортировке и посмотреть, если это помогает.

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

Если у вас есть номер как 3.14159265359, вам нужно 13 байт, чтобы сохранить это в текстовый файл; если это число в формате с плавающей точкой, вам нужно всего лишь 4 байта.

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