ভাষা বেছে নিন

CSV থেকে JSON কনভার্টার

আপনার স্প্রেডশিট বা CSV ডেটাকে সহজে স্ট্রাকচার্ড JSON ফরম্যাটে রূপান্তর করুন। কাস্টম ডিলিমিটার, মাল্টিলাইন ভ্যালু এবং NDJSON সাপোর্ট সহ দ্রুত ডেটা প্রসেসিং।

Mehmet Demiray (মেহমেত দেমিরায়) প্রকাশিত আপডেট হয়েছে
শেয়ার করুন
যে ক্যারেক্টারটি আপনার CSV-তে মানগুলোকে আলাদা করে
প্রথম সারিটিকে কলামের নাম হিসেবে বিবেচনা করুন
নম্বর এবং true/false-কে টেক্সট হিসেবে রাখার বদলে পার্স করুন
ইনপুটে থাকা ফাঁকা লাইনগুলো উপেক্ষা করুন
JSON আউটপুট ফরম্যাট করার জন্য ব্যবহৃত স্পেসিং

CSV থেকে JSON রূপান্তর কী এবং কেন প্রয়োজন?

CSV (Comma-Separated Values) এবং JSON (JavaScript Object Notation) ডেটা সংরক্ষণের দুটি অত্যন্ত জনপ্রিয় ফরম্যাট। সাধারণত স্প্রেডশিট বা ডাটাবেস থেকে ডেটা এক্সপোর্ট করার সময় CSV ফরম্যাট ব্যবহার করা হয়। অন্যদিকে আধুনিক ওয়েব অ্যাপ্লিকেশন, মোবাইল অ্যাপ এবং এপিআই (API) ডেটা আদান-প্রদানের জন্য JSON ফরম্যাট বেশি পছন্দ করে। CSV থেকে JSON কনভার্টার ব্যবহার করে আপনি খুব সহজেই সারি এবং কলামভিত্তিক ডেটাকে স্ট্রাকচারড অবজেক্টে রূপান্তর করতে পারবেন। CSV ফাইলে ডেটাগুলো কমা দিয়ে আলাদা করা থাকে এবং এর কোনো নির্দিষ্ট হায়ারার্কি বা নেস্টেড স্ট্রাকচার থাকে না। কিন্তু JSON ফরম্যাটে কি-ভ্যালু (key-value) পেয়ার ব্যবহার করা হয় যা ডেটাকে অনেক বেশি বোধগম্য এবং প্রোগ্রামেবল করে তোলে। উদাহরণস্বরূপ একটি ই-কমার্স সাইটের প্রোডাক্ট লিস্ট যদি CSV ফরম্যাটে থাকে তবে সেটিকে ওয়েব অ্যাপ্লিকেশনের ফ্রন্টএন্ডে দেখানোর জন্য JSON ফরম্যাটে রূপান্তর করাটা ডেভেলপারদের জন্য অনেক বেশি সুবিধাজনক। এই রূপান্তরের মাধ্যমে ডেটা ম্যানিপুলেশন সহজ হয় এবং বিভিন্ন সিস্টেমের মধ্যে ডেটা ইন্টারচেঞ্জ দ্রুততর হয়।

কনভার্টারটি কীভাবে কাজ করে?

একটি আদর্শ CSV থেকে JSON কনভার্টার মূলত তিনটি ধাপে কাজ করে থাকে। প্রথম ধাপে এটি ইনপুট করা CSV ফাইলের টেক্সট পার্স করে। সাধারণত ফাইলের প্রথম সারিটিকে হেডার হিসেবে ধরে নেওয়া হয় যা পরবর্তীতে JSON অবজেক্টের 'কি' (key) হিসেবে ব্যবহৃত হয়। এরপরের প্রতিটি সারিকে একেকটি আলাদা অবজেক্ট বা ভ্যালু হিসেবে ম্যাপ করা হয়। দ্বিতীয় ধাপে কনভার্টারটি ডেটা ম্যাপিং করে। এখানে কমা, সেমিকোলন বা ট্যাবের মতো ডিলিমিটারগুলোকে শনাক্ত করে সে অনুযায়ী ডেটা ভাগ করা হয়। অনেক সময় ডেটার ভেতরেই কমা থাকতে পারে যেমন কোনো ঠিকানার ক্ষেত্রে। এই ধরনের বিশেষ পরিস্থিতিগুলো সামাল দেওয়ার জন্য কনভার্টারটি কোটেশন মার্কের ভেতরের কমাগুলোকে ডিলিমিটার হিসেবে গণ্য করে না। এছাড়া মাল্টিলাইন ভ্যালু বা এস্কেপড ক্যারেক্টারগুলোকেও এটি সঠিকভাবে প্রসেস করে। প্রয়োজনে আপনি ডেটা প্রসেসিংয়ের অন্যান্য কাজের জন্য JSON থেকে CSV রূপান্তর করার টুলও ব্যবহার করতে পারেন।

বাস্তব জীবনে এর ব্যবহারক্ষেত্র

সফটওয়্যার ডেভেলপমেন্ট এবং ডেটা ইঞ্জিনিয়ারিংয়ের ক্ষেত্রে CSV থেকে JSON কনভার্টার বহুল ব্যবহৃত হয়। এর অন্যতম প্রধান ব্যবহার হলো এপিআই (API) রেসপন্স তৈরি করা। ধরুন আপনার কোম্পানির সেলস ডেটা একটি এক্সেল বা ডাটাবেস থেকে CSV আকারে এক্সপোর্ট করা হয়েছে। এখন এই ডেটা যদি কোনো ওয়েব ড্যাশবোর্ডে দেখাতে হয় তবে সেটিকে JSON ফরম্যাটে রূপান্তর করা অপরিহার্য। দ্বিতীয়ত অনেক সময় লিগ্যাসি সিস্টেম থেকে আধুনিক সিস্টেমে মাইগ্রেশনের সময় কনফিগারেশন ফাইলগুলো রূপান্তর করার প্রয়োজন পড়ে। পুরনো সিস্টেমগুলো ফ্ল্যাট-ফাইল বা CSV নির্ভর হলেও আধুনিক ক্লাউড আর্কিটেকচার JSON বা YAML ফরম্যাট বেশি সাপোর্ট করে। এছাড়া বিভিন্ন থার্ড-পার্টি সার্ভিসের সাথে ডেটা আদান-প্রদান বা সিঙ্ক করার সময় এই টুলটি দারুণ কাজে দেয়। আপনি চাইলে ডেটার গঠন ঠিক আছে কি না তা যাচাই করতে JSON ফরম্যাটার ব্যবহার করে আউটপুটটি সুন্দরভাবে সাজিয়ে দেখতে পারেন।

কীভাবে CSV কে JSON-এ রূপান্তর করবেন?

এই প্রক্রিয়াটি অত্যন্ত সহজ এবং এর জন্য কোনো কোডিং জ্ঞানের প্রয়োজন নেই। প্রথমে আপনার কাঙ্ক্ষিত CSV ডেটা কপি করে টুলের ইনপুট বক্সে পেস্ট করুন অথবা ফাইলটি সরাসরি আপলোড করুন। আপনার ফাইলে যদি কমার পরিবর্তে সেমিকোলন বা ট্যাব ডিলিমিটার হিসেবে ব্যবহার করা হয় তবে সেটিংস থেকে সঠিক ডিলিমিটারটি নির্বাচন করে দিন। এরপর কনভার্ট বাটনে ক্লিক করলেই টুলটি স্বয়ংক্রিয়ভাবে প্রথম সারিটিকে হেডার হিসেবে ধরে পুরো ডেটাকে একটি JSON অ্যারেতে পরিণত করবে। আউটপুট বক্সে আপনি স্ট্রাকচারড ডেটা দেখতে পাবেন যা সহজেই কপি করে আপনার প্রজেক্টে বা কোডবেসে ব্যবহার করতে পারবেন। এটি বড় আকারের ডেটাসেট যেমন ১০,০০০ সারির ডেটাও কয়েক সেকেন্ডের মধ্যে প্রসেস করতে সক্ষম।

CSV এবং JSON এর মূল পার্থক্যগুলো কী?

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

নেস্টেড স্ট্রাকচার ও বিশেষ ক্যারেক্টারের ক্ষেত্রে কী ঘটে?

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

এই রূপান্তর প্রক্রিয়াটি কি লসলেস (Lossless)?

হ্যাঁ বেশিরভাগ ক্ষেত্রেই CSV থেকে JSON রূপান্তর একটি লসলেস প্রক্রিয়া অর্থাৎ রূপান্তরের সময় কোনো ডেটা হারিয়ে যায় না। আপনার ইনপুট ফাইলে যতগুলো সারি এবং কলাম থাকবে আউটপুট JSON ফাইলে ঠিক ততগুলোই অবজেক্ট এবং প্রোপার্টি তৈরি হবে। তবে একটি বিষয় মাথায় রাখতে হবে যে CSV তে সব ডেটাই টেক্সট বা স্ট্রিং হিসেবে থাকে। তাই টুলটি যখন ডেটা রূপান্তর করে তখন অনেক সময় সংখ্যা বা বুলিয়ান মানগুলোকেও স্ট্রিং হিসেবে আউটপুট দিতে পারে। আধুনিক কনভার্টারগুলোতে সাধারণত একটি অপশন থাকে যা স্বয়ংক্রিয়ভাবে সংখ্যা বা বুলিয়ান মানগুলোকে শনাক্ত করে সেগুলোকে সঠিক ডেটা টাইপে রূপান্তর করতে পারে। ফলে ডেটার মান বা পরিমাণ ঠিক থাকে এবং কোডিংয়ের সময় টাইপ কাস্টিংয়ের ঝামেলা পোহাতে হয় না।

যেগুলোর উত্তর আমরা সবচেয়ে বেশি দিই।

আমি কীভাবে খুব সহজে CSV ফাইলকে JSON ফরম্যাটে রূপান্তর করতে পারি?

আমাদের CSV থেকে JSON কনভার্টার ব্যবহার করে আপনি খুব সহজেই এই কাজটি করতে পারবেন। শুধু আপনার CSV ডেটা কপি করে পেস্ট করুন অথবা ফাইল আপলোড করুন। টুলটি স্বয়ংক্রিয়ভাবে প্রথম সারিটিকে JSON অবজেক্টের কী (key) হিসেবে ধরে নিয়ে ডেটা রূপান্তর করবে।

CSV এবং JSON ফরম্যাটের মধ্যে মূল পার্থক্য কী?

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

আমার CSV ফাইলে যদি কমা এর বদলে সেমিকোলন বা ট্যাব থাকে, তবে কি এই টুল কাজ করবে?

হ্যাঁ, আমাদের টুলটি বিভিন্ন ধরনের ডিলিমিটার (delimiter) সমর্থন করে। কমা, সেমিকোলন বা ট্যাব দিয়ে আলাদা করা ডেটা খুব সহজেই প্রসেস করা যায়। এমনকি কোটেশন চিহ্নের ভেতরের ডেটা বা একাধিক লাইনের টেক্সট থাকলেও কনভার্টারটি তা নিখুঁতভাবে JSON ফরম্যাটে রূপান্তর করতে পারে।

CSV ডেটা থেকে কি নেস্টেড (nested) JSON তৈরি করা সম্ভব?

যেহেতু CSV একটি ফ্ল্যাট বা একমাত্রিক ডেটা স্ট্রাকচার, তাই এটি সরাসরি জটিল নেস্টেড JSON তৈরি করতে পারে না। তবে আমাদের টুলটি প্রতিটি সারিকে একটি আলাদা JSON অবজেক্ট হিসেবে তৈরি করে একটি মূল অ্যারের (array) ভেতরে রাখে। আরও জটিল ডেটা স্ট্রাকচারের জন্য আপনি XML ডেটা থেকে JSON ফরম্যাটে রূপান্তর করার কথা ভাবতে পারেন।

ডেটা রূপান্তরের সময় কি কোনো তথ্য হারিয়ে যাওয়ার সম্ভাবনা আছে?

না, এই রূপান্তর প্রক্রিয়াটি ১০০% লসলেস (lossless)। আপনার CSV ফাইলের প্রতিটি সেল বা কলামের ডেটা হুবহু JSON ভ্যালু হিসেবে সংরক্ষিত হবে। রূপান্তরের পর ডেটা ঠিকমতো সাজানো হয়েছে কি না তা যাচাই করতে আপনি একটি JSON ফরম্যাটার ব্যবহার করতে পারেন।

বড় ডেটাবেস এক্সপোর্টের ক্ষেত্রে কি NDJSON ফরম্যাট আউটপুট পাওয়া যাবে?

হ্যাঁ, আপনি চাইলে সাধারণ JSON অ্যারের পাশাপাশি NDJSON ফরম্যাটেও আউটপুট পেতে পারেন। সাধারণত ৫,০০০ বা তার বেশি সারির ডেটাবেস মাইগ্রেশন বা ডেটা পাইপলাইনে প্রসেসিং করার জন্য এই ফরম্যাটটি খুবই কার্যকর।