একই ডাটা কেন এক্সেল ফাইলের চেয়ে কোনও পাঠ্য ফাইলে বেশি স্থান নেয়?


59

আমার কাছে প্রায় 100000 সারি ডেটা রয়েছে। আমি যদি এই ডেটাটিকে কোনও টেক্সট ফাইল ফর্ম্যাটে সঞ্চয় করি তবে আমি যদি এটি এক্সেল ফাইল ফর্ম্যাটে সংরক্ষণ করি তবে তার চেয়ে বেশি জায়গা লাগে। কেন এমন?

উত্তর:


118

xlsxবিন্যাস আধুনিক এক্সেল দ্বারা ব্যবহৃত আসলে একটি সংকুচিত ফরম্যাট। এটি একটি জিপ সংরক্ষণাগার যা নির্দিষ্ট কাঠামোর মধ্যে পাঠ্য (এক্সএমএল) ফাইল রয়েছে।

আপনি যদি একই ধরণের জিপ সংক্ষেপণ সরঞ্জামের সাহায্যে আপনার সরল পাঠ্য ফাইলটি সংকুচিত করেন তবে আপনার অনুরূপ ফাইলের আকার অর্জন করা উচিত।

উপরন্তু, যেমন উল্লেখ ব্র্যাডলি Uffner এবং প্রায় দুই একর পরিমাণবিশিষ্ট মন্তব্য, এক্সেল deduplicate হবে অভিন্ন স্ট্রিং এবং শুধুমাত্র তাদের একজন কপি সংরক্ষণ করি। আমি এই জাতীয় পদ্ধতির সঠিক লাভ সম্পর্কে নিশ্চিত নই এবং এটি আপনার ডেটা সেটের উপর নির্ভর করবে, তবে সাধারণ জিপ সংক্ষেপণ সম্ভবত আপনাকে বেশিরভাগ পথেই পেয়ে যাবে। 1


9.1.3 শারীরিক প্যাকেজ

প্রতিটি অফিস ওপেন এক্সএমএল নথিটি জিপ সংরক্ষণাগার হিসাবে প্রয়োগ করা হয়।

- ইসিএমএ-376-1: 2016


1 আমার ধারণাটি হ'ল আপনার একাধিক ওয়ার্কশিট থাকা অবস্থায় এই প্রতিলিপিটি সবচেয়ে কার্যকর, যেহেতু জিপ সংক্ষেপণ একটি আর্কাইভের প্রতিটি ফাইলের জন্য স্বাধীনভাবে প্রয়োগ হয় এবং একসাথে কেবলমাত্র ডেটার সীমিত বিভাগের উপরে - সমস্ত স্ট্রিং একসাথে একটি ফাইলের মধ্যে সংরক্ষণ করে, সেখানে পরবর্তী সংকোচনের কিছুটা উপকার হওয়া উচিত। আরও ব্যবহারিকভাবে, যদি আপনার প্লেইন পাঠ্য বিন্যাসটি যাইহোক একক ফাইলে থাকে তবে সম্ভবত সামান্য পার্থক্য হবে।


2
এটা অসাধারণ! এটি এক্সেল ফাইলগুলি কীভাবে পরিচালনা করা হয় সে সম্পর্কে খুব ভাল অন্তর্দৃষ্টি দেয়। ধন্যবাদ!
ডোমিনিক

3
@ ডোমিনিক আপনি যদি আরও জানতে চান, আপনি এটি আনজিপ করে একজনের সাথে চারপাশে খেলতে পারেন (যেমন z জীপ সহ, অথবা এটির নাম পরিবর্তন করে এটি শেষ হয় .zip)। স্পেকটি উপলভ্য, তবে এটি শুকনো পড়ার জন্য তৈরি করে।
বব

3
আমি মনে করি এক্সেল একটি স্ট্রিং ডিকশনারিও ব্যবহার করে, যেখানে কক্ষগুলির মধ্যে অভিন্ন একই পাঠ্যের বিটগুলি কেবল একবারে সঞ্চিত অবস্থায় পুনরায় ব্যবহার করা যেতে পারে।
ব্র্যাডলি উফনার

1
অ্যাপাচি ooxML লাইব্রেরি দ্বারা প্রকাশিত API এর ভিত্তিতে, একটি ভাগ করা স্ট্রিং অভিধান অন্তত সম্ভাব্য।
মরগেন

2
এক্সএলএস (কোনও এক্স) ফাইলগুলি লেখার সময়ও ভাগ করা স্ট্রিংগুলি এক্সেলের একটি বৈশিষ্ট্য ছিল, যা একটি ওএলইএইচ ধারক মধ্যে বিআইএফএফ নামে একটি রেকর্ড ভিত্তিক বিন্যাস ছিল। আপনি যদি XLSX এর সাথে পুরানো এক্সএলএস চশমা তুলনা করেন, আপনি দেখতে পাবেন এক্সএলএসএক্সটি বিআইএফএফের কেবলমাত্র একটি এসএসএমএলড জিমযুক্ত সংস্করণ। সুতরাং মূলত এমএস এক্সএলএসএক্সের জন্য ভাগ করা স্ট্রিং বৈশিষ্ট্যটি আবিষ্কার করেনি, যেখানে সংকোচনের কারণে এটি বেশি অর্থবোধ করে না; তারা কেবল এক্সএলএসকে এক্সএলএসএক্সে পরিণত করার সবচেয়ে সহজতম পথে গেছে।
গুন্ট্রাম ব্লহম

2

প্রদত্ত উত্তরটি সঠিক, এটি এক্সেল আপনার ডেটা এক্সএমএল হিসাবে সংরক্ষণ করার কারণে ঘটে। এটি এর কারণেই, আপনার ডেটা দক্ষতার সাথে বাছাই করা ফাইলের আকারও হ্রাস করবে। এটি নিজে পরীক্ষা করুন - বলুন আপনার মতো ডেটা আছে

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

আপনি যদি সি অনুসারে বাছাই করেন (সমস্ত বা প্রায় সমস্ত অনন্য মানের সহ একটি কলাম) তবে বি এর অভিন্ন মান সংলগ্ন হবে না। এক্সেলের এক্সএমএলে এটির মতো দেখাচ্ছে:

<12345><John><Smith-Johnson-Williamson>
<34567><John><Williams>
<67890><Sally><Smith-Johnson-Williamson>

আপনি যদি বি অনুসারে বাছাই করেন (সাধারণ মানগুলির সাথে একটি কলাম), তবে অভিন্ন মানগুলি সংলগ্ন। এক্সেলের এক্সএমএলে এটির মতো দেখাচ্ছে:

<Smith-Johnson-Williamson><John><12345>
  <Sally><67890>
<Williams><John><34567>

যেহেতু লম্বা স্ট্রিংটি অভিন্ন এবং সংলগ্ন, এক্সেল জানে যে এগুলি এগুলি একসাথে প্যাক করতে পারে, লোকে তালিকা লেখার সময় এবং উপরের লাইনের অংশটির পুনরাবৃত্তি করার জন্য, তারা একই জিনিসটি আবার লেখার চেয়ে উদ্ধৃতিগুলি টাইপ করে। আমি আমার তদন্তে একটি ভাগ করে নেওয়া স্ট্রিংয়ের অভিধানের কোনও প্রমাণ পাইনি - কেবলমাত্র পুনরাবৃত্ত ক্ষেত্রের মানের জায়গায় এই ইনডেন্টেশন।

আমার কাছে কেবল 11 টি রাজ্য জুড়ে 250,000 গ্রাহকের মেলিংয়ের তালিকা ছিল এবং প্রতিটি রেকর্ডে এমন একটি ক্ষেত্র ছিল যা তারা যে অফারটি পেয়েছিল তা চিহ্নিত করে দুটি স্ট্রিংগুলির মধ্যে একটি ছিল। আমাদের কর্মীরা কোনও কারণে লোকদের তাদের কথার মতো রাস্তার ঠিকানায় খোঁজ করতে অভ্যস্ত ছিল, সুতরাং এটি রাস্তার নম্বর কলামে, তারপরে রাস্তার নাম, শহর, ইত্যাদি অনুসারে সাজানো হয়েছিল ... যখন আমি প্রথমে অফারটি দিয়েছিলাম, তারপরে রাজ্য, জিপ কোড, শহর, রাস্তার নাম, রাস্তার নম্বর এবং শেষ পর্যন্ত ঠিকানা-লাইন -2, ফাইলের আকারটি অবিশ্বাস্যভাবে হ্রাস পেয়েছে। আমি কী চলছে তা দেখার জন্য ফাইলের মধ্যে আনপ্যাকড এক্সএমএলটি প্রতিটিভাবে সাজানো হয়েছে এবং যা আমি ছাড় করেছি তার উপরের অংশটি পরীক্ষা করেছি the যদি 5 টিরও বেশি অক্ষর বলার একাধিক ক্ষেত্র থাকে তবে মানগুলি সীমিত সেট (বলে, 'সমাধান করা', 'প্রত্যাখ্যানিত', 'অনুমোদিত', ইত্যাদি) এর মতো টিকিটের ব্যবস্থা রয়েছে,


হ্যালো কম্পিয়েনসিউব, এটি অত্যন্ত ভয়ঙ্কর জ্ঞান। !!! তোমাকে অনেক ধন্যবাদ.
ব্যবহারকারী734178

-5

আপনার যদি 3.14159265359 এর মতো নম্বর থাকে তবে এটি একটি টেক্সট ফাইলে সংরক্ষণ করার জন্য আপনার 13 বাইটের প্রয়োজন; যদি আপনি এই সংখ্যাটি একটি ফ্লোট হিসাবে সংরক্ষণ করেন তবে আপনার কেবল 4 বাইট দরকার।


19
যদিও এটি xls(বিআইএফএফ) এর ক্ষেত্রে হতে পারে , আমি মনে করি xlsxনা এটি এটি করে। xlsxএক্সএমএল ফাইলগুলিতে সমস্ত ডেটা সংরক্ষণ করে, যা সংখ্যার বাইনারি এনকোডিং করে না - এগুলিতে রূপান্তরিত হয় এবং পাঠ্য স্ট্রিং হিসাবে সংরক্ষণ করা হয়। আমি এখনও স্পেসিফিকেশনের প্রাসঙ্গিক বিভাগটি সন্ধান করার চেষ্টা করছি, তবে আমার অভিজ্ঞতাবাদী পরীক্ষা (অর্থাত কোনও সংরক্ষিত নথি বের করা) দেখায় যে 1.123XML এ আক্ষরিক অর্থে 5 অক্ষরের স্ট্রিং হিসাবে সঞ্চিত রয়েছে।
বব

14
ECMA-376-1: 2016 § 18.3.1.4 c(সেল) দেখায় যে কোষে তাদের ডেটা জমা vহিসাবে সংজ্ঞায়িত, ট্যাগ ECMA-376-1: 2016 § 18.3.1.96 v(সেল ভ্যালু) যেখানে তারা বলে এই উপাদান সম্ভাব্য মান ST_Xstring সরল ধরণের (§22.9.2.19) দ্বারা সংজ্ঞায়িত করা হয়। - তারা উদাহরণ দেয় <v>28086.3541666667</v>যেখানে ডেটা স্পষ্টভাবে স্ট্রিং হিসাবে সংরক্ষণ করা হয়।
বব

4
@gerrit দুর্ভাগ্যক্রমে এক্সেল প্রোগ্রামের মধ্যে সংখ্যা হিসাবে ভাসমান হিসাবে ব্যাখ্যা করে , ফোন নম্বরগুলি শেষ কয়েকটি সংখ্যা বাদ দেওয়ার মতো আকর্ষণীয় সমস্যার দিকে পরিচালিত করে। এটি কেবল ডিস্কে ভাসমান হিসাবে সংরক্ষণ করে না (আর?)
বব

2
@ বোবি এটির ক্ষেত্রেও এটি xlsb, যা বিশাল চাদরের জন্য অত্যন্ত প্রস্তাবিত
ফুচলভি

2
আমি জানি না কেন এই উত্তরটি এতগুলি নিম্নবিত্ত হয়।
কোনও ওপেনটি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.