CSV থেকে JSON

আপনার ডিভাইসেই চলে · আপনার ফাইল কখনও আপনার ডিভাইস ছেড়ে যায় না।

.csv এক্সপোর্ট দিন বা লেখাটা পেস্ট করুন, আর পান একটা JSON লিস্ট — প্রতি সারিতে এক অবজেক্ট, হেডার সারিটাই কি। পার্সারটা RFC 4180 মানে, তাই উদ্ধৃতিতে বসানো ঘর, দুবার লেখা উদ্ধৃতি, ঘরের ভেতরের কমা বা লাইন ব্রেক সবই অক্ষত থাকে।

কলামের বিভাজক নিজে থেকেই চেনা হয় — কমা, সেমিকোলন, ট্যাব আর পাইপের মধ্যে — আর চাইলে নিজেও বেছে দিতে পারেন। ডিফল্টে "12" হয়ে যায় সংখ্যা 12, "true" হয় বুলিয়ান, ফাঁকা ঘর হয় null — তবে শুধু যেখানে কিছু বদলায় না: 1.50, 1e3, 007 আর লম্বা আইডি লেখাই থাকে, কারণ সংখ্যা হিসেবে এগুলো অন্যভাবে লেখা হতো। এটা বন্ধ করে দিলে প্রতিটা মান হুবহু যেমন লেখা তেমনই টেক্সট থাকে।

একই নামের বা ফাঁকা হেডারকে আলাদা নাম দেওয়া হয় (column_3), শুরুতে byte-order mark থাকলে সেটা সরানো হয়, UTF-16 বা পুরোনো কোনো কোড পেজে সেভ করা ফাইল সেভাবেই পড়া হয় আর তার নাম জানানো হয়, হেডারের চেয়ে বেশি ঘরের সারি লাইন ধরে জানানো হয়, আর কোথাও গোলমাল থাকলে লাইন আর কলাম ধরে জানিয়ে দেওয়া হয় — অস্পষ্ট বার্তা নয়।

CSV থেকে JSON: কীভাবে করবেন

  1. CSV ফাইল দিন, বা বাক্সে CSV পেস্ট করুন।
  2. বিভাজক স্বয়ংক্রিয় রাখুন বা বেছে নিন; সংখ্যা ও বুলিয়ান আলাদা করে চেনানো হবে কি না ঠিক করুন।
  3. «JSON-এ কনভার্ট করুন» চেপে প্রিভিউ দেখুন।
  4. .json ডাউনলোড করুন।

সমর্থিত ফরম্যাট ও সীমা

ইনপুট
CSV / TSV (.csv, .tsv, .txt) — ফাইল বা পেস্ট করা লেখা
আউটপুট
অবজেক্টের JSON অ্যারে, সাজানো, UTF-8
পার্সিং
RFC 4180: উদ্ধৃতি, ভেতরের বিভাজক ও লাইন ব্রেক
বিভাজক
নিজে থেকে চেনা: কমা, সেমিকোলন, ট্যাব, পাইপ
যেখানে চলে
আপনার ব্রাউজারেই — আপলোড ছাড়া

যার জন্য নয়: ভেতরে ঢোকানো গঠন ফিরিয়ে আনা — 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 নয়»; খুব ছোট ফাইলে বিচার করার মতো অক্ষর কম থাকে, তাই তার প্রিভিউ মিলিয়ে নিন।

সাধারণ জিজ্ঞাসা

সেমিকোলন দেওয়া CSV চলবে?
চলবে; বিভাজক নিজে থেকেই চেনা হয়, আর চাইলে হাতে বেছে দেওয়া যায়।
আমার ফাইল কি কোনো সার্ভারে আপলোড হয়?
না। পুরো কাজটা হয় আপনার ব্রাউজারেই, আপনার নিজের ফোন বা কম্পিউটারের ক্ষমতায়। ফাইল ডিভাইস ছেড়ে কোথাও যায় না। কোনো টুল একবার ব্যবহার করা হয়ে গেলে ইন্টারনেট ছাড়াও সেটা চলে — ভিডিও, লেখা চেনা আর ব্যাকগ্রাউন্ড সরানোর টুল প্রথমবার নিজের ইঞ্জিন এই সাইট থেকে নামিয়ে নেয়, তারপর ব্রাউজার সেটা রেখে দেয়।
শূন্য দিয়ে শুরু হওয়া আইডি নষ্ট হবে না তো?
না। 007-এর মতো শূন্য দিয়ে শুরু হওয়া মান — যেমন 01 দিয়ে শুরু মোবাইল নম্বর — আর লম্বা আইডি লেখাই থাকে, কারণ সংখ্যা হিসেবে এগুলো অন্যভাবে লেখা হতো। 1207-এর মতো পোস্ট কোডও লেখা হিসেবে চাইলে «সংখ্যা, বুলিয়ান আর খালি ঘর চিনে নিন» বন্ধ করে দিন।
বাংলা লেখা ঠিক থাকবে?
থাকবে। ফাইলটা UTF-8 (বা UTF-16) হিসেবে পড়া হয় আর JSON লেখা হয় UTF-8-এ।
ভুল থাকলে কী হয়?
যেখানে সমস্যা, সেই লাইন আর কলাম ধরে বলা হয়, যাতে ঠিক জায়গাটা দেখতে পারেন।

সম্পর্কিত টুল

স্প্রেডশিট ও ডেটা বিভাগে আরও

এই পাতা অন্য ভাষায়: English · العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia