এক্সেল সিএসভি এবং একটি স্ট্যান্ডার্ড সিএসভির মধ্যে সত্য পার্থক্য কী?
উদাহরণস্বরূপ, যখন একটি ঘরের ভিতরে লাইন ব্রেকগুলির সাথে কলামগুলি পরিচালনা করছেন, তারা কীভাবে এটি আলাদাভাবে এনকোড করবেন?
এক্সেল সিএসভি এবং একটি স্ট্যান্ডার্ড সিএসভির মধ্যে সত্য পার্থক্য কী?
উদাহরণস্বরূপ, যখন একটি ঘরের ভিতরে লাইন ব্রেকগুলির সাথে কলামগুলি পরিচালনা করছেন, তারা কীভাবে এটি আলাদাভাবে এনকোড করবেন?
উত্তর:
এটি একেবারে নির্ভর করে আপনি "স্ট্যান্ডার্ড" সিএসভি হিসাবে কী সংজ্ঞা দেন। যতদূর আমি উদ্বিগ্ন, এক্সেল আরএফসি 4180 এ বর্ণিত নিয়মগুলি অনুসরণ করে , "সিএসভি ফাইলের জন্য প্রচলিত ফর্ম্যাট এবং মাইমে টাইপ"।
একটি সারণী বিবেচনা করুন যেখানে প্রথম সারির প্রথম ঘরে দুটি লাইনের ব্রেক রয়েছে। এক্সেলে, এটি নিম্নলিখিতগুলির মতো দেখাবে:
+---+---------------+------------+------------+
| | A | B | C |
+---+---------------+------------+------------+
| 1 | col1, line1a | | |
| | col1, line1b | | |
| | col1, line1c | col2, row1 | col3, row1 |
| 2 | col1, row2 | col2, row2 | col3, row2 |
+---+---------------+------------+------------+
এখন, এক্সেল এটি কীভাবে রফতানি করবে? আসুন দেখুন - একটি পাঠ্য সম্পাদক এটি প্রদর্শিত হবে:
"col1, line1a
col1, line1b
col1, line1c","col2, row1","col3, row1"
"col1, row2","col2, row2","col3, row2"
খুব পরিশীলিত নয়। এটি একটি ক্যারিজ রিটার্ন (হেক্স 0D
) সন্নিবেশ করায় যেখানে লাইন ব্রেকটি আমাদের ঘরে ছিল। প্রতিটি ঘর ডাবল উদ্ধৃতি দ্বারা বেষ্টিত হয়। এছাড়াও, আসল সারিগুলি ক্যারেজের রিটার্নের সাথে পৃথক করা হয়।
এটি সঠিকভাবে পার্স করার জন্য, একটি সিএসভি পার্সারের প্রয়োজন
যদি এটি না করে থাকে তবে আপনি এই জাতীয় কিছু নিয়ে এসেছেন - নোট করুন যে এখন দুটি পরিবর্তে চারটি লাইন রয়েছে কারণ এটি লাইন ব্রেকটিকে উপেক্ষা করতে ব্যর্থ হয়েছিল।
+---+---------------+------------+------------+
| | A | B | C |
+---+---------------+------------+------------+
| 1 | "col1, line1a | | |
| 2 | col1, line1b | | |
| 3 | col1, line1c" | col2, row1 | col3, row1 |
| 4 | col1, row2 | col2, row2 | col3, row2 |
+---+---------------+------------+------------+
তবে, আসুন দেখে নেওয়া যাক আরএফসি কী বলেছে, সম্ভবত এক্সেল এটি সঠিকভাবে করেছে?
লাইন ব্রেক (সিআরএলএফ), ডাবল উদ্ধৃতি এবং কমাগুলি সহ ক্ষেত্রগুলিকে ডাবল-কোটে আবদ্ধ করা উচিত।
ঝরঝরে, এক্সেল ঠিক তাই করেছে। সুতরাং সংক্ষিপ্তসার হিসাবে, এক্সেল একটি "স্ট্যান্ডার্ড" সিএসভি ফাইলের প্রস্তাবনাগুলি অনুসরণ করে বলে মনে হচ্ছে। সঠিক সিএসভি পার্সার দেওয়া, এটি এক্সেল সিএসভি ফাইলগুলিও পড়তে সক্ষম হওয়া উচিত।
মূল সিএসভি বাস্তবায়ন থেকে আমার বোঝাটি ছিল যে সমস্ত পাঠ্য ক্ষেত্রগুলি উদ্ধৃতিতে আবদ্ধ ছিল এবং সংখ্যাগুলি হওয়ার দরকার নেই। এক্সেল এটি করে না এবং যদি আপনি আপনার এক্সেল উত্পাদিত সিএসভি ফাইলগুলি নন-মাইক্রোসফ্ট প্ল্যাটফর্মে আপলোড করার চেষ্টা করেন তবে তারা ব্যর্থ হয়। এটি একটি স্ট্যান্ডার্ড মাইক্রোসফ্ট পদ্ধতির, আন্তঃঅযুক্তি উপেক্ষা এবং নিয়ম অন্ধভাবে অনুসরণ করার উপর ফোকাস। আইই এর সাথে অনুরূপ একটি ঘটনা ঘটেছে, তারা প্যাডিং এবং মার্জিন বৈশিষ্ট্যগুলির জন্য html / CSS নিয়মগুলি সঠিকভাবে অনুসরণ করেছিল এবং প্রতিটি বিদ্যমান ওয়েব পৃষ্ঠা এবং ওয়েব ব্রাউজার তাদের সাথে অন্যরকম আচরণ করে তা এড়িয়ে গেছে। ফলস্বরূপ, প্রায় প্রতিটি ওয়েব পৃষ্ঠাতে আইইয়ের জন্য বিশেষ বিধি রয়েছে। আমি এক্সেল অকার্যকর দ্বারা উত্পাদিত সিএসভি ফাইলগুলি খুঁজে পাই এবং সেগুলি নিজেই সঠিকভাবে তৈরি করতে "কনকানেটেট" ফাংশনগুলির একটি কলাম ব্যবহার করি।