আপনার ডিভাইসেই চলে · আপনার ফাইল কখনও আপনার ডিভাইস ছেড়ে যায় না।
.csv এক্সপোর্ট দিন বা লেখাটা পেস্ট করুন, আর পান একটা JSON লিস্ট — প্রতি সারিতে এক অবজেক্ট, হেডার সারিটাই কি। পার্সারটা RFC 4180 মানে, তাই উদ্ধৃতিতে বসানো ঘর, দুবার লেখা উদ্ধৃতি, ঘরের ভেতরের কমা বা লাইন ব্রেক সবই অক্ষত থাকে।
কলামের বিভাজক নিজে থেকেই চেনা হয় — কমা, সেমিকোলন, ট্যাব আর পাইপের মধ্যে — আর চাইলে নিজেও বেছে দিতে পারেন। ডিফল্টে "12" হয়ে যায় সংখ্যা 12, "true" হয় বুলিয়ান, ফাঁকা ঘর হয় null — তবে শুধু যেখানে কিছু বদলায় না: 1.50, 1e3, 007 আর লম্বা আইডি লেখাই থাকে, কারণ সংখ্যা হিসেবে এগুলো অন্যভাবে লেখা হতো। এটা বন্ধ করে দিলে প্রতিটা মান হুবহু যেমন লেখা তেমনই টেক্সট থাকে।
একই নামের বা ফাঁকা হেডারকে আলাদা নাম দেওয়া হয় (column_3), শুরুতে byte-order mark থাকলে সেটা সরানো হয়, UTF-16 বা পুরোনো কোনো কোড পেজে সেভ করা ফাইল সেভাবেই পড়া হয় আর তার নাম জানানো হয়, হেডারের চেয়ে বেশি ঘরের সারি লাইন ধরে জানানো হয়, আর কোথাও গোলমাল থাকলে লাইন আর কলাম ধরে জানিয়ে দেওয়া হয় — অস্পষ্ট বার্তা নয়।
যার জন্য নয়: ভেতরে ঢোকানো গঠন ফিরিয়ে আনা — CSV সমতল, তাই প্রতিটা সারি সমতল অবজেক্ট হয়; ডট দেওয়া কলাম আবার ভেতরে ঢোকানো হয় না।
সুইচ চালু থাকলে কোনো ঘর সংখ্যা হয় শুধু তখন, যখন সংখ্যাটা আবার লিখলে ঠিক একই লেখা ফেরে: 12, -4 আর 3.5 সংখ্যা হয়। 1.50, 1e3 আর -0 লেখাই থাকে, কারণ সংখ্যা হিসেবে এগুলো ফিরত 1.5, 1000 আর 0 হয়ে। লেখা থাকে 007, +5, " 12", 3,5, 1,250, শতাংশ বা মুদ্রার চিহ্নওয়ালা মান, আর এমন লম্বা আইডিও, যা একটা সংখ্যা নিখুঁতভাবে ধরে রাখতে পারে না।
true আর false বড়-ছোট যেকোনো হাতের অক্ষরে চেনা হয়, তাই TRUE হয় true। ফাঁকা ঘর হয় null, কিন্তু NULL শব্দটা লেখাই থাকে, কারণ এটা একটা মান বা নামও হতে পারে। তারিখ, যেমন 2024-01-05, সবসময় লেখাই থাকে।
ঘরগুলো হেডারের সঙ্গে মেলানো হয় অবস্থান ধরে। কম ঘরের সারিতে না-থাকা কলামগুলো পায় null (সুইচ বন্ধ থাকলে ফাঁকা স্ট্রিং)। হেডারের চেয়ে বেশি ঘরের সারির বাড়তি ঘরগুলোর বসার জায়গা নেই, তাই সেগুলো বাদ পড়ে, আর প্রিভিউয়ের ওপরে একটা বার্তা জানায় কতগুলো সারিতে এমন হলো আর প্রথমটা কোন লাইনে শুরু। সাধারণত এর মানে, Smith, John-এর মতো কোনো মান উদ্ধৃতিচিহ্ন ছাড়াই বিভাজকটা ধরে রেখেছে।
ফাঁকা লাইন বাদ যায়। হেডারের নামের দুই পাশের ফাঁকা জায়গা ছেঁটে ফেলা হয়; মানের নয়, তাই " Dhaka" তার ফাঁকা জায়গাটা রাখে।
উদ্ধৃতিচিহ্ন উদ্ধৃত ফিল্ড শুরু করে শুধু ফিল্ডের প্রথম অক্ষর হলে; মাঝখানে থাকলে — যেমন 5" screen — সেটা লেখারই অংশ থাকে। যে উদ্ধৃতিচিহ্ন একটা ফিল্ড খোলে কিন্তু কখনো বন্ধ হয় না, সেটা ফাইলের বাকি সবটা এক ঘরে টেনে নিত, তাই কনভার্ট থেমে যায় আর জানায় উদ্ধৃতিটা কোন লাইন আর কোন কলামে খুলেছিল।
চেনার জন্য দেখা হয় প্রথম 64 KB, সর্বোচ্চ 50 লাইন, আর বেছে নেওয়া হয় সেই বিভাজক, যা সবচেয়ে বেশি লাইনে একই সংখ্যক কলাম দেয়; উদ্ধৃতির ভেতরের বিভাজক গোনা হয় না। দশমিক কমাওয়ালা সেমিকোলন ফাইলে, যেমন A;1,5, সেমিকোলনই ধরা পড়ে আর 1,5 লেখাই থাকে।
ফাইল পড়া হয় তার বাইট আসলে যা, সেই হিসেবে: byte-order mark, UTF-16 (যা Excel «Unicode Text» নামে লেখে), বা UTF-8। বাইটগুলো বৈধ UTF-8 না হলে নেওয়া হয় সেই পুরোনো কোড পেজ, যাতে এগুলো শব্দ হয়ে পড়া যায়: পশ্চিম ও মধ্য ইউরোপীয়, সিরিলিক, গ্রিক, তুর্কি, হিব্রু, আরবি (ফারসি ও উর্দুসহ) আর থাই লেখার Windows কোড পেজ, অথবা চীনা, জাপানি ও কোরিয়ানের জন্য GB18030, Big5, Shift_JIS আর EUC-KR। ফাইলের লাইনে তখন সেটা লেখা থাকে, যেমন «windows-1256 হিসেবে পড়া হয়েছে, UTF-8 নয়»; খুব ছোট ফাইলে বিচার করার মতো অক্ষর কম থাকে, তাই তার প্রিভিউ মিলিয়ে নিন।
এই পাতা অন্য ভাষায়: English · العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia