답변:
xlsx
형식 현대 Excel에서 사용 실제로 압축 된 형식입니다. 특정 구조의 텍스트 (XML) 파일을 포함하는 ZIP 아카이브입니다.
유사한 ZIP 압축 도구를 사용하여 일반 텍스트 파일을 압축하면 파일 크기가 비슷해야합니다.
또한 Bradley Uffner 와 Morgen 이 주석에서 언급했듯이 Excel은 동일한 문자열 을 중복 제거 하고 사본 하나만 저장합니다. 나는 그러한 방법의 정확한 이점에 대해 확신하지 못하며, 데이터 세트에 따라 다르지만 간단한 압축 압축은 아마도 대부분의 방법을 얻을 것입니다. 1
9.1.3 물리적 패키지
각 Office Open XML 문서는 ZIP 보관 파일로 구현됩니다.
1 내 추측에 따르면이 중복 제거는 여러 워크 시트가있을 때 가장 효과적입니다 .zip 압축은 아카이브의 각 파일에 독립적으로 한 번에 제한된 데이터 섹션에만 적용되기 때문에 모든 문자열을 단일 파일에 함께 저장함으로써 나중에 압축하는 데 도움이 될 것입니다. 더 실제적으로, 일반 텍스트 형식이 단일 파일 인 경우에는 거의 차이가 없을 것입니다.
.zip
) 하나를 가지고 놀 수 있습니다 . 사양도 사용할 수 있지만 다소 건조합니다.
주어진 대답은 정확합니다 .Excel은 데이터를 xml로 저장하기 때문입니다. 또한 데이터를 효율적으로 정렬하면 파일 크기도 줄어 듭니다. 직접 테스트 해보십시오.
A B C
John Smith-Johnson-Williamson 12345
Sally Smith-Johnson-Williamson 67890
John Williams 34567
C (모두 또는 거의 모든 고유 값이있는 열) 만 기준으로 정렬하면 동일한 B 값이 인접하지 않습니다. Excel의 xml에서는 다음과 같습니다.
<12345><John><Smith-Johnson-Williamson>
<34567><John><Williams>
<67890><Sally><Smith-Johnson-Williamson>
B (공통 값이있는 열)로 정렬하면 동일한 값이 인접 해 있습니다. Excel의 xml에서는 다음과 같습니다.
<Smith-Johnson-Williamson><John><12345>
<Sally><67890>
<Williams><John><34567>
긴 문자열은 동일하고 인접하기 때문에 Excel은 사람들이 목록을 작성할 때와 비슷하게 함께 묶을 수 있으며 위 줄의 일부를 반복하기 위해 동일한 것을 다시 쓰지 않고 따옴표를 입력합니다. 필자는 조사에서 공유 문자열 사전의 증거를 찾지 못했습니다. 반복되는 필드 값 대신 들여 쓰기 만하십시오.
11 개 주에서만 250,000 명의 고객 메일 링리스트를 보유하고 있었으며 각 레코드에는 그들이 제공하는 오퍼를 식별하는 두 개의 문자열 중 하나 인 필드가있었습니다. 우리 직원들은 어떤 이유로 든 사람들이 말한대로 거리 주소로 사람들을 찾는 데 익숙했기 때문에 거리 번호 열, 거리 이름, 도시 등으로 분류했습니다. 우편 번호, 도시, 거리 이름, 거리 번호 및 마지막으로 주소 행 2로 파일 크기가 엄청나게 줄었습니다. 나는 파일에서 압축이 풀린 XML을 각 방법으로 정렬하여 진행중인 것을 확인했으며 위의 내용은 내가 추론 한 것입니다. 5자를 초과하는 필드가 여러 개 있지만 값이 제한된 세트 인 경우 (예 : 'resolved', 'rejected', 'approved'등과 같은 티켓 처리)
3.14159265359와 같은 숫자가있는 경우이를 텍스트 파일에 저장하려면 13 바이트가 필요합니다. 이 숫자를 부동 소수점으로 저장하면 4 바이트 만 필요합니다.
xls
(BIFF) 의 경우 일 수는 있지만 , 그렇게하지는 않습니다 xlsx
. xlsx
모든 데이터를 XML 파일로 저장합니다.이 파일은 숫자의 이진 인코딩을 수행하지 않으며 텍스트 문자열로 변환되어 저장됩니다. 나는 여전히 사양의 관련 섹션을 찾으려고 노력하고 있지만 경험적 테스트 (예 : 저장된 문서 추출) 1.123
는 문자 그대로 XML에서 5 문자 문자열로 저장되어 있음을 보여줍니다 .
c
(셀)의 셀에 데이터를 저장하는 것을 보여준다 v
항에 태그 ECMA-376-1 : 2016 § 18.3.1.96 v
(셀 값) 그들이 말하는 이러한 요소에 대한 가능한 값을 ST_Xstring 단순 유형 (§22.9.2.19)으로 정의됩니다. — <v>28086.3541666667</v>
데이터가 문자열로 명확하게 저장되는 위치 와 같은 예를 제공 합니다.
xlsb
. 이는 거대한 시트에 권장됩니다