CSV টেবিল (.csv)
RFC স্ট্যান্ডার্ডকমা-সেপারেটেড ভ্যালুজ (CSV) ট্যাবুলার ডেটার জন্য একটি সর্বব্যাপী প্লেইন-টেক্সট ফর্ম্যাট, যেখানে প্রতিটি লাইন একটি ডেটা রেকর্ড এবং ফিল্ডগুলি বিভাজক অক্ষর দিয়ে পৃথক করা হয়।
XLSX থেকে CSV-তে রূপান্তর করুন
বিনামূল্যের ব্রাউজারভিত্তিক XLSX-থেকে-CSV রূপান্তরকারী। আপনার ডিভাইসেই ফাইল তাৎক্ষণিকভাবে রূপান্তর করুন।
অনলাইনে CSV কম্প্রেস করুন
ব্যক্তিগত - ফাইল কখনোই আপনার ডিভাইস ছেড়ে যায় না
ইনস্পেক্ট ও মেটাডেটা
অপারেটিং সিস্টেম এবং ফাইল অ্যানালাইজারগুলো শুরুর বাইনারি বাইট সিকোয়েন্স পরীক্ষা করে CSV ফাইল শনাক্ত করে:
বাইট-লেভেল হেডার সিগনেচার (ম্যাজিক বাইটস)
অপারেটিং সিস্টেম এবং ফাইল অ্যানালাইজারগুলো শুরুর বাইনারি বাইট সিকোয়েন্স পরীক্ষা করে CSV ফাইল শনাক্ত করে:
হেক্স সিগনেচার (অফসেট 0):
কোনো নির্দিষ্ট স্বাক্ষর নেইASCII রিপ্রেজেন্টেশন: টেক্সট বাইট; এনকোডিং ভিন্ন হয় (প্রায়ই UTF-8)
স্ট্যান্ডার্ডাইজেশন: RFC 4180 / IETF
প্রযুক্তিগত বৈশিষ্ট্য
| কন্টেইনার আর্কিটেকচার | সারণী ডেটা সারি এবং কলাম উপস্থাপনকারী ডেলিমিটেড ফ্ল্যাট টেক্সট ফাইল |
| কম্প্রেশন | রিপিটেটিভ ট্যাবুলার রেকর্ডে Gzip / Deflate ৮৫%-৯৫% কম্প্রেশন অর্জন করে |
| বাইট এন্ডিয়াননেস | UTF-8 টেক্সট স্ট্রিম (এক্সেলে ব্যবহৃত ঐচ্ছিক UTF-8 BOM EF BB BF) |
| কালার স্পেস | প্রযোজ্য নয় |
| চ্যানেল ও কাঠামো | CRLF দিয়ে পৃথক করা সারি রেকর্ড এবং কমা দিয়ে পৃথক করা কলাম |
| সর্বোচ্চ মাত্রা | সীমাহীন; মেমরিতে পুরো ফাইল লোড না করেই গিগাবাইট পর্যন্ত স্ট্রিমযোগ্য |
| স্বচ্ছতা | প্রযোজ্য নয় |
| স্ট্রিমিং ও প্রোগ্রেসিভ | সমস্ত ডেটা পাইপলাইন দ্বারা নেটিভ লাইন-বাই-লাইন স্ট্রিম প্রসেসিং সমর্থিত |
টেকনিক্যাল তুলনা ম্যাট্রিক্স: CSV বনাম প্রতিযোগীগণ
| প্রযুক্তিগত বৈশিষ্ট্য | CSV (বর্তমান) | Excel (XLSX) | Parquet | JSON |
|---|---|---|---|---|
| ফাইল টাইপ | প্লেইন টেক্সট ফ্ল্যাট টেবিল | জিপ করা XML স্প্রেডশীট | বাইনারি কলামনার স্টোরেজ | হায়ারারকিক্যাল টেক্সট |
| একাধিক শিট | না (শুধুমাত্র একক ফ্ল্যাট টেবিল) | হ্যাঁ (একাধিক ওয়ার্কবুক এবং শিট) | পার্টিশন-ভিত্তিক স্টোরেজ | নেস্টেড অ্যারে এবং অবজেক্ট |
| ডেটা টাইপ | আনটাইপড কাঁচা টেক্সট | টাইপড সেল, সূত্র, ফরম্যাটিং | কঠোর বাইনারি কলাম টাইপ | প্রিমিটিভ টাইপ (স্ট্রিং, নম্বর, বুল) |
| বিগ ডেটা অ্যানালিটিক্স | ধীরগতির (রৈখিকভাবে প্রতিটি সারি পড়া প্রয়োজন) | বিগ ডেটার জন্য উপযুক্ত নয় | অতি দ্রুত (কলাম প্রুনিং এবং প্রিডিকেট পুশডাউন) | মাঝারি |
সাধারণ করাপশন মোড এবং হেক্স রিকভারি গাইড
কলামগুলি ডানে সরে যায় বা সারির সংখ্যা মিল থাকে না।
মূল কারণ: চারপাশের উদ্ধৃতি চিহ্ন ছাড়া একটি আনস্কেপড কমা ধারণকারী টেক্সট ফিল্ড।
পুনরুদ্ধার: RFC 4180 অনুযায়ী কমা ধারণকারী ফিল্ডগুলিকে ডাবল কোটের মধ্যে রাখতে হবে: "Smith, John"।
এক্সেলের মধ্যে অ্যাকসেন্টেড ক্যারেক্টারগুলি অদ্ভুত প্রতীক হিসেবে রেন্ডার হয় (যেমন é-এর পরিবর্তে é-এর মতো বিকৃত অক্ষর)।
মূল কারণ: এক্সেল লিগ্যাসি Windows ANSI/CP1252 ক্যারেক্টার এনকোডিং ধরে নিয়ে একটি UTF-8 CSV খুলেছে।
পুনরুদ্ধার: ফাইলের শুরুতে ৩-বাইট UTF-8 Byte Order Mark (0xEF 0xBB 0xBF) যুক্ত করুন।
নিরাপত্তা বিশ্লেষণ ও পার্সার অ্যাটাক ভেক্টর
CSV ফাইলগুলি এক্সেল এবং গুগল শিটসের মতো স্প্রেডশীট সফটওয়্যারে সরাসরি খোলে, যা ব্যবহারকারীদের ফর্মুলা ইনজেকশন (CSV ইনজেকশন) আক্রমণের ঝুঁকিতে ফেলে।
পরিচিত অ্যাটাক ভেক্টর
- ফর্মুলা ইনজেকশন: '=', '+', '-', বা '@' দিয়ে শুরু হওয়া সেলগুলিতে স্প্রেডশীট ম্যাক্রো বা DDE কমান্ড কার্যকর হতে পারে (যেমন '=cmd|' /C calc'!A0')।
- ক্লিক করার সাথে সাথে সংবেদনশীল সেল ডেটা রিমোট অ্যাটাকার সার্ভারে পাঠিয়ে HYPERLINK() সূত্রের মাধ্যমে ডেটা এক্সফিল্ট্রেশন।
প্রতিরক্ষামূলক সেরা অনুশীলন: ব্যবহারকারীর ডেটা CSV-তে রপ্তানি করার সময়, এক্সেলে প্লেইন টেক্সট রেন্ডারিং জোরদার করতে '=', '+', '-', বা '@' দিয়ে শুরু হওয়া যেকোনো সেলের আগে একটি সিঙ্গেল কোট (') বা ট্যাব যুক্ত করুন।
ঐতিহাসিক উৎপত্তি ও মাইলফলক
প্রধান সুবিধাসমূহ ও গুণাবলী
- সর্বোচ্চ সরলতা: যেকোনো টেক্সট এডিটরে পাঠযোগ্য এবং প্রতিটি ডাটাবেস এবং স্প্রেডশীটে আমদানিযোগ্য।
- পূর্ণ ইন-মেমরি DOM তৈরি না করেই অত্যন্ত দ্রুত লাইন-বাই-লাইন স্ট্রিমিং।
- ন্যূনতম ওভারহেড: কোনো ভার্বোস ট্যাগ সিনট্যাক্স বা স্কিমা সংজ্ঞা নেই।
কারিগরি সীমাবদ্ধতা ও অসুবিধা
- কোনো স্ট্যান্ডার্ড ডেটা টাইপ নেই: সংখ্যা, তারিখ, বুলিয়ান এবং টেক্সট সবই কাঁচা স্ট্রিং হিসাবে সংরক্ষিত হয়।
- একাধিক শিট, সেল ফরম্যাটিং, সূত্র বা মেটাডেটার জন্য কোনো সমর্থন নেই।
- ডেলিমিটার দ্বন্দ্ব (টেক্সটের মধ্যে কমা, ইউরোপীয় লোকেলে দশমিক কমা) প্রায়শই পার্সিং বাগ ঘটায়।
আকর্ষণীয় কারিগরি তথ্য
- অনেক ইউরোপীয় দেশে যেখানে দশমিক বিন্দু হিসেবে কমা ব্যবহার করা হয়, সেখানে CSV সেপারেটর হিসেবে কমার পরিবর্তে সেমিকোলন (;) ব্যবহার করা হয়।
- নন-ASCII অ্যাকসেন্টেড ক্যারেক্টার সঠিকভাবে প্রদর্শনের জন্য মাইক্রোসফট এক্সেলে ঐতিহাসিকভাবে একটি UTF-8 BOM (0xEF 0xBB 0xBF) প্রয়োজন হতো।
- যুক্তরাজ্যের ন্যাশনাল হেলথ সার্ভিস ২০২০ সালে প্রায় ১৬,০০০টি COVID-19 কন্টাক্ট ট্রেসিং রেকর্ড হারিয়ে ফেলার ঘটনাটি বহুল আলোচিত হয়েছিল। এর কারণ ছিল, ডেটা এমন একটি পুরোনো এক্সেল স্প্রেডশিট ফর্ম্যাটে আমদানি করা হয়েছিল, যেখানে সারির সর্বোচ্চ সীমা ছিল ৬৫,৫৩৬।
সচরাচর জিজ্ঞাসিত প্রযুক্তিগত প্রশ্নাবলি
RFC 4180 কী?
RFC 4180 হল CSV-এর জন্য অফিসিয়াল IETF স্ট্যান্ডার্ড। এটি বাধ্যতামূলক করে যে কমা, লাইন ব্রেক বা ডাবল কোট ধারণকারী ফিল্ডগুলোকে অবশ্যই ডাবল কোটের মধ্যে রাখতে হবে এবং অভ্যন্তরীণ কোটগুলোকে দ্বিগুণ করে ("") স্কেপ করতে হবে।
এক্সেলে CSV ফাইল কেন করাপ্টেড ক্যারেক্টার সহ খোলে?
মাইক্রোসফট এক্সেলের পুরানো সংস্করণগুলো সরাসরি CSV ফাইল খোলার সময় UTF-8-এর পরিবর্তে স্থানীয় উইন্ডোজ কোড পেজ (যেমন Windows-1252) ডিফল্ট হিসেবে ব্যবহার করে। ফাইলের শুরুতে একটি UTF-8 BOM (Byte Order Mark) যোগ করলে এক্সেল সঠিকভাবে UTF-8 ডিকোড করতে বাধ্য হয়।
CSV ইনজেকশন (ফর্মুলা ইনজেকশন) কি?
CSV ইনজেকশন ঘটে যখন লিডিং ফর্মুলা ট্রিগার ('=', '+', '-', '@') সম্বলিত অবিশ্বস্ত ব্যবহারকারীর ইনপুট কোনো স্প্রেডশীট ফাইলে রপ্তানি করা হয়। এক্সেলের মতো সফটওয়্যারে খোলার সময়, স্প্রেডশীট স্বয়ংক্রিয়ভাবে ফর্মুলা বা ডায়নামিক ডেটা এক্সচেঞ্জ (DDE) কমান্ড কার্যকর করে, যার ফলে সিস্টেম কমান্ড চলতে পারে বা ডেটা এক্সফিল্ট্রেট হতে পারে।
সম্পর্কিত CSV কনভার্সন পেয়ার
সর্বোচ্চ সফ্টওয়্যার সামঞ্জস্যতার জন্য একটি এক্সেল শিটকে CSV টেবিলে রূপান্তর করলে কাঁচা সারণী ডেটা একটি সার্বজনীন পাঠ্য বিন্যাসে বের হয়ে আসে।
সাধারণ পাঠ্য-ভিত্তিক CSV ফাইলগুলিকে বৈশিষ্ট্য সমৃদ্ধ XLSX স্প্রেডশীটে রূপান্তর করা উন্নত ডেটা স্টাইলিং, সূত্র এবং একাধিক শিট সক্ষম করে।
ফ্ল্যাট টেক্সট ফাইলকে স্ট্রাকচার্ড রিলেশনাল ডেটাবেসে রূপান্তর করলে দ্রুত কুয়েরি চালানো এবং জটিল ডেটা সম্পর্ক পরিচালনা করা যায়।
সহজ ডেটা বিশ্লেষণ এবং রিপোর্টিংয়ের জন্য রিলেশনাল ডেটাবেস ব্যাকআপ স্ক্রিপ্টগুলিকে সমতল টেবিলে রূপান্তরিত করুন।
হায়ারার্কিক্যাল HDF5 ডেটাসেটগুলিকে ফ্ল্যাট টেলিমেট্রি CSV ফাইলে রূপান্তর করলে স্প্রেডশিট বিশ্লেষণের জন্য জটিল বহু-মাত্রিক বিজ্ঞান রেকর্ডগুলি সাধারণ সারি এবং কলামে পরিণত হয়।
বহু-মাত্রিক NetCDF বৈজ্ঞানিক গ্রিডগুলিকে ফ্ল্যাট টেলিমেট্রি CSV ফাইলে রূপান্তর করলে মৌলিক স্প্রেডশিট সফটওয়্যারে জটিল জলবায়ু এবং সমুদ্রের ডেটা পঠনযোগ্য হয়ে ওঠে।
vCard ফাইলগুলোকে পরিচিতি CSV-এ রূপান্তর করা সহজ ডাটাবেস আমদানির জন্য শ্রেণিবদ্ধ যোগাযোগের কার্ডগুলোকে ফ্ল্যাট স্প্রেডশীট সারিতে রূপান্তরিত করে।