সিএসভি (CSV) একটি ব্যাপকভাবে ব্যবহৃত ফরম্যাট যা সাধারণত বিভিন্ন ডেটা বিশ্লেষণ সফটওয়্যারের জন্য প্রয়োজনীয়। এর সাথে সাথে, এটি অত্যন্ত উপযোগী এবং সংগঠিত ও সম্পাদনা করা সহজ। এই ব্যাপক জনপ্রিয়তার কারণে, আপনাকে বিভিন্ন পরিস্থিতিতে আপনার ডেটাসেটকে এক্সেল থেকে সিএসভি ফরম্যাটে রূপান্তর করতে হতে পারে বিভিন্ন ব্যবহার জন্য। এই টিউটোরিয়ালে, আমি আপনাকে দেখাব কীভাবে এক্সেল ফাইলগুলোকে স্বয়ংক্রিয়ভাবে সিএসভিতে রূপান্তর করতে হয়।
যদি আপনি ধাপগুলো অনুসরণ করার সাথে সাথে পদ্ধতিগুলো চেষ্টা করতে চান, তবে আমি ডেমো için ব্যবহৃত ডেটাসেটসহ ফাইলটি নিচে সংযুক্ত করেছি। ভিবিএ কোডগুলিও সেটির ভিতরে সংরক্ষিত আছে। ডাউনলোড করে ধাপ অনুযায়ী প্র্যাকটিস করুন।
সিএসভি (CSV) কী?
সিএসভি বা কমা-সেপারেটেড ভ্যালুস হলো একটি ফাইল ফরম্যাট যেখানে, নামটার অনুরূপ, মানগুলো স্ট্রিং হিসেবে সংরক্ষিত থাকে কমা ডিলিমিটার হিসেবে ব্যবহার করে সেগুলোকে পৃথক করার জন্য। যদিও এটি আসলে যা, সেটা ত جملة চেয়ে জটিল হতে পারে। অনেক ডেটা যুক্ত করলে ফাইলটি বastanza গুলগুলি হতে পারে। কিন্তু কিছু সফটওয়্যার বা প্রোগ্রামিং ল্যাঙ্গুয়েজ যেমন পাইথনের পান্ডাস (Pandas) লাইব্রেরি এই ফাইলগুলোকে ইনপুট হিসেবে ব্যবহার করতে পছন্দ করে।
সিএসভি ফাইল ব্যবহারের কিছু সুবিধা অন্তর্ভুক্ত:
- এটি বিভিন্ন প্ল্যাটফর্মের ব্যবহারকারীদের দ্বারা ব্যাপকভাবে গ্রহণযোগ্য
- সংগঠিত ও সম্পাদনা করা সহজ
- প্রায় সকল বড় স্প্রেডশীট প্রোগ্রামের সাথে ব্যবহার করা যায় যেমন মাইক্রোসফট এক্সেল বা গুগল স্প্রেডশীট
- এটি বিভিন্ন ব্যবসায়িক সফটওয়্যারের জন্যও ব্যবহৃত হয়
দूसरी ओर, সিএসভি ফাইল ব্যবহারের একটি বড় অসুবিধা হলো এটি শুধু একটি স্প্রেডশীট ধারণ করতে সক্ষম। বিপরীতে, মাইক্রোসফট এক্সেলের .xlsx ফাইল একসাথে অনেক স্প্রেডশীট ধারণ করতে পারে যাতে অনেক ভিন্ন ডেটাসেট থাকে।
এক্সেল ফাইলকে স্বয়ংক্রিয়ভাবে সিএসভিতে রূপান্তর করার ৩টি উপায়
এক্সেল স্প্রেডশীটকে সিএসভি ফাইলে রূপান্তর করার কিছু পদ্ধতি দেয়। যদিও প্রধান এবং ব্যাপকভাবে ব্যবহৃত পদ্ধতি হলো Save As কমান্ড ব্যবহার করা, তবে আপনাকে ডেটাসেটের ক্যারেক্টার বা একাধিক স্প্রেডশীট একসাথে রূপান্তর করতে চাইলে অন্য পদ্ধতি ব্যবহার করতে হতে পারে।
এই উদ্দেশ্যে, আমি বিভিন্ন পদ্ধতিগুলো তাদের নিজস্ব সাব-সেকশনে ভাগ করেছি। 덧붙يونে, প্রতিটি পদ্ধতির সুবিধা-অসুবিধা আলাদা সাব-সেকশনে আলোচনা করব। অনুসরণ করুন প্রতিটি পদ্ধতি কীভাবে কাজ করে বা আপনার প্রয়োজনীয়টা টেবিল থেকে খুঁজে বের করতে।
১. Save As কমান্ড ব্যবহার করে এক্সেল ফাইলকে স্বয়ংক্রিয়ভাবে সিএসভিতে রূপান্তর করা
এটি এক্সেল ফাইলকে স্বয়ংক্রিয়ভাবে সিএসভিতে রূপান্তর করার সবচেয়ে উপযুক্ত এবং ব্যাপকভাবে ব্যবহৃত পদ্ধতি। আপনার স্প্রেডশীটে যদি কোনো ইউনিকোড ক্যারেক্টার না থাকে, তবে নিঃসন্দেহে এটাই করুন। যেহেতু আমরা মাইক্রোসফটের Save As ফিচার ব্যবহার করে যেকোনো ফাইলকে অন্য ফরম্যাটে রূপান্তর করতে পারি, তাই আমরা এটি ব্যবহার করে এক্সেল ফাইলকে স্বয়ংক্রিয়ভাবে সিএসভিতে রূপান্তর করতে পারি।
আরো বিস্তারিত গাইডের জন্য এই ধাপগুলো অনুসরণ করুন। ডেমোর জন্য আমি নিচের ডেটাসেটটি ব্যবহার করেছি।

ধাপসমূহ:
- প্রথমে, আপনার এক্সেল ফাইলে একাধিক স্প্রেডশীট থাকলে রূপান্তর করতে চাওয়া স্প্রেডশীটটি সিলেক্ট করুন।
- রিবনে File ট্যাবে ক্লিক করুন।

- তারপর Save As-এ ক্লিক করুন। আপনি শেষ দুটি ধাপ বাদ দিয়ে শুধু কীবোর্ডে F12 চাপলেও Save As উইন্ডো খুলতে পারেন।

- এখন Save As উইন্ডোতে, ফাইল সংরক্ষণ করতে চাওয়া লোকেশন সিলেক্ট করুন এবং Save as type-এ CSV (Comma delimited) সিলেক্ট করুন। আপনি CSV UTF-8-ও সিলেক্ট করে একই ফলাফল পেতে পারেন।

- তারপর Save-এ ক্লিক করুন।
- যদি একটি সতর্কতা উইন্ডো দেখায় যে শুধু একটি স্প্রেডশীট রূপান্তরিত হবে (যদি আপনার এক্সেল ফাইলে একাধিক স্প্রেডশীট থাকে), তবে OK-এ ক্লিক করুন।

এটি এক্সেল ফাইলকে স্বয়ংক্রিয়ভাবে সিএসভিতে রূপান্তর করবে।

আপনি এক্সেলে খুলেও দেখতে পারেন। সেটা এখানে দেখানোর মত দেখাবে সকল ফরম্যাট সরিয়ে।

আরও পড়ুন: এক্সেলকে কমা-ডিলিমিটেড সিএসভি ফাইলে রূপান্তর (২টি সহজ উপায়)
২. বিশেষ ক্যারেক্টারসহ এক্সেল ফাইলকে সিএসভিতে রূপান্তর করা
আপনার স্প্রেডশীটে ইউনিকোড ক্যারেক্টার থাকলে আগের পদ্ধতি অনুসরণ করলে ডেটা আবার ইম্পোর্ট করার সময় সমস্যা হতে পারে। CSV (comma delimited) হিসেবে সেভ করলে ASCII নন-ক্যারেক্টারগুলো বিকৃত হয়ে যায়। তাই আপনার ডেটাসেটে স্পেশাল ক্যারেক্টার থাকলে নিচের দুটি পদ্ধতির যেকোনো একটি ফলো করুন এক্সেল ফাইলকে স্বয়ংক্রিয়ভাবে সিএসভিতে রূপান্তর করতে, ক্যারেক্টারগুলো বিকৃত না করে।
দুই পদ্ধতির জন্যও আমি নিচের ডেটাসেটটি ব্যবহার করেছি যাতে চাইনিজ ফিগারস তাদের মন্দারিন নামের সাথে রয়েছে।

এক্সেল ফাইলকে স্বয়ংক্রিয়ভাবে সিএসভিতে রূপান্তর করার সময়, আপনি এটাকে দুটি ইউনিকোড ফর্মে রূপান্তর করতে পারেন: UTF-8 এবং UTF-16। মূল পার্থক্য হলো UTF-8 একটি বেশি কম্প্যাক্ট এনকোডিং এবং সাধারণ ক্যারেক্টারসহ ইংরেজি ও সংখ্যা ৮ বিটে এনকোড করে। UTF-16 প্রতিটি ক্যারেক্টারের জন্য কমপক্ষে ১৬ বিট এনকোড করে। তবুও, আপনি যেকোনো একটি রূপান্তর করে একই সিএসভি ফাইল পেতে পারেন। যদিও এশিয়ান ক্যারেক্টারের জন্য যেন এই ডেটাসেটে, UTF-16 প্রস্তাবিত।
২.১ CSV UTF-8 হিসেবে সেভ করা
UTF-8 সাথে ASCII ক্যারেক্টারের একই এনকোডিং থাকে ASCII ফাইলের মতো। তাই আপনার ডেটাসেটে যদি অনেক ইউনিকোড ক্যারেক্টার না থাকে যা সিএসভিতে রূপান্তর করতে হবে, তবে আপনাকে সেগুলো UTF-8-এ রূপান্তর করা উচিত।
এক্সেল ফাইলকে CSV UTF-8-এ স্বয়ংক্রিয়ভাবে রূপান্তর করতে, এই ধাপগুলো অনুসরণ করুন।
ধাপসমূহ:
- প্রথমে, আপনার এক্সেল ফাইলে একাধিক স্প্রেডশীট থাকলে সিএসভি ফাইলে রূপান্তর করতে চাওয়া স্প্রেডশীটটি সিলেক্ট করুন।
- তারপর আপনার রিবন থেকে File ট্যাবে ক্লিক করুন।

- उसकेপর Save As-এ ক্লিক করুন। আপনি দুটি ধাপ বাদ দিয়ে কীবোর্ডে F12 চাপলেও একই ফলাফল পাবেন এপর্যন্ত।

- তারপর Save As উইন্ডোতে, ফাইল সংরক্ষণ করতে চাওয়া লোকেশন সিলেক্ট করুন। এবং Save as type ফিল্ডে CSV UTF-8 (Comma Delimited) সিলেক্ট করুন।

- Save-এ ক্লিক করুন।
- যদি আপনার এক্সেল ফাইলে একাধিক স্প্রেডশীট থাকে তবে একটি সতর্কতা উইন্ডো দেখাতে পারে যে শুধু একটি স্প্রেডশীট রূপান্তরিত হবে। সেটাতে OK-এ ক্লিক করুন।

এভাবে আপনি বিশেষ ক্যারেক্টার অপসারپیSans এক্সেল ফাইলকে স্বয়ংক্রিয়ভাবে সিএসভিতে রূপান্তর করতে পারেন।
শেষে, সিএসভি ফাইলটি এখানে দেখানোর মত দেখাবে, সকল ডেটা সংরক্ষণ করে।

যদি এক্সেলে খুলেন তবে এখানে দেখানোর মত দেখাবে।

২.২ CSV UTF-16 হিসেবে সেভ করা
ডেটাসেটে ব্যবহৃত এশিয়ান ক্যারেক্টারের মতো ক্যারেক্টারের জন্য UTF-16 ব্যবহার করার পরামর্শ দেওয়া হয়। এর অসুবিধা হলো এটি UTF-8-এর চেয়ে বেশি বাইট নেয় এবং ASCII ফাইলসহ পুরোপুরি কম্প্যাটিবল নয়।
তবুও, আপনি যদি এক্সেল ফাইলকে স্বয়ংক্রিয়ভাবে CSV UTF-16-এ রূপান্তর করতে চান তবে নিচের ধাপগুলো অনুসরণ করুন।
ধাপসমূহ:
- প্রথমে, আপনার এক্সেল ফাইলে একাধিক স্প্রেডশীট থাকলে রূপান্তর করতে চাওয়া স্প্রেডশীটটি সিলেক্ট করুন।
- তারপর আপনার রিবনে File ট্যাবে যান।

- এবং তারপর Save As সিলেক্ট করুন। অথবা শেষ দুটি ধাপ উপেক্ষা করুন এবং কীবোর্ডে F12 চাপুন।

- Save As উইন্ডোতে, লোকেশন সিলেক্ট করুন এবং Save as type-কে Unicode Text হিসেবে সিলেক্ট করুন।

- उसकेপর Save-এ ক্লিক করুন।
- এটি একটি টেক্সট ফাইল হিসেবে সেভ হবে। এখন এটি Notepad-এর মতো একটি টেক্সট এডিটর দিয়ে খুলুন। আপনি দেখবেন ডেটার মাঝপথে ট্যাবস (Tabs) ডিলিমিটার হিসেবে সেভ হয়েছে।

- এখন নোটপ্যাড থেকে ট্যাব স্পেসটি কপি করুন।

- उसकेপর নোটপ্যাডে Find and Replace বক্স খুলুন Ctrl+H চাপা।
- Find what বক্সে ট্যাব স্পেসটি পেস্ট করুন।
- Replace with বক্সে একটি কমা (,) দিন।
- শেষে Replace All-এ ক্লিক করুন।

- তারপর বক্সটি বন্ধ করুন। ফলে সকল ট্যাব স্পেস কমা দিয়ে প্রতিস্থাপিত হবে এবং আপনার কাছে কমা-সেপারেটেড ভ্যালুসह একটি টেক্সট ফাইল থাকবে।

- শেষে এক্সটেনশনটি ম্যানুয়ালি .csv-তে পরিবর্তন করুন।

এভাবে আপনি এক্সেল ফাইলকে CSV UTF-16-এ স্বয়ংক্রিয়ভাবে রূপান্তর করতে পারেন।
আরও পড়ুন: ডাবল কোটসহ এক্সেলকে সিএসভি হিসেবে সেভ করা (৩টি সবচেয়ে সহজ পদ্ধতি)
৩. একাধিক শীটসহ এক্সেল ফাইলকে সিএসভিতে রূপান্তর করা
আগের বর্ণিত পদ্ধতিগুলো সবই এক্সেল ফাইলকে স্বয়ংক্রিয়ভাবে সিএসভিতে রূপান্তর করতে ব্যবহার করা যায়। কিন্তু সেগুলো সব একটি স্প্রেডশীট একবারে একটি সিএসভি ফাইলে রূপান্তর করে। কিন্তু কখনও কখনও এমন পরিস্থিতি হয় যেখানে আপনার এক্সেল ফাইলে প্রচুর সংখ্যক স্প্রেডশীট থাকে এবং उन সবকে রূপান্তর করতে হয়। خوشবস্তে, মাইক্রোসফট ভিজ্যুয়াল বেসিক ফর অ্যাপ্লিকেশনস (VBA) এর সমাধান আছে সেটা জন্য।
ভিবিএ কোড ব্যবহার করতে, প্রথমে আপনার রিবনে Developer ট্যাব থাকতে হবে। Developer ট্যাব এনাবল করুন, যদি আপনার কাছে না থাকে।
ডেমোর জন্য, আমি উপরে উল্লিখিত দুটি ডেটাসেট ব্যবহার করছি আলাদা আলাদা স্প্রেডশীটে (আপনি আর্টিকেলের শুরুতে থেকে ডাউনলোড করলে আপনার কাছে এই ফাইলটি থাকবে)।

যদি আপনি ব্যাচ কনভার্ট করতে চান এক্সেল ফাইলগুলোকে স্বয়ংক্রিয়ভাবে সিএসভিতে তবে ধাপগুলো অনুসরণ করুন।
ধাপসমূহ:
- প্রথমে আপনার রিবনের Developer ট্যাবে যান এবং Code গ্রুপ থেকে Visual Basic সিলেক্ট করুন।

- তারপর ভিবিএ উইন্ডোতে Insert সিলেক্ট করুন। उसकेপর ড্রপডাউন মেনু থেকে Module সিলেক্ট করুন।

- মডিউলের ভিতরে নিচের কোডটি লিখুন।
Sub Batch_Convert_CSV()
Dim wsht As Worksheet
Dim file_path As String
Application.ScreenUpdating = False
file_path = ActiveWorkbook.path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
For Each wsht In Worksheets
wsht.Copy
ActiveWorkbook.SaveAs Filename:=file_path & "_" & wsht.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close False
Next
Application.ScreenUpdating = True
End Sub
- একবার আপনার মডিউলে এটি লিখলে, ফাইলটি সেভ করুন এবং কীবোর্ডে F5 চাপুন কোডটি রান করতে।
আপনার মূল এক্সেল ফাইলের ডিরেক্টরিতে সকল স্প্রেডশীট আলাদা আলাদা সিএসভি ফাইলে রূপান্তরিত হয়ে যাবে।
এটি প্রথম স্প্রেডশীটের রূপান্তরিত সিএসভি ফাইল হবে।

এবং এটি দ্বিতীয় স্প্রেডশীটের জন্য হবে।

দ্রষ্টব্য: ব্যাচ কনভার্সনটিও দ্বিতীয় পদ্ধতিতে উল্লিখিতভাবেই ইউনিকোড ক্যারেক্টারগুলোকে বিকৃত করবে। আপনার ডেটাসেটে স্পেশাল ক্যারেক্টার থাকলে দ্বিতীয় পদ্ধতি ফলো করুন।
আরও পড়ুন: একাধিক এক্সেল ফাইলকে সিএসভি ফাইলে রূপান্তর করার জন্য ম্যাক্রো প্রয়োগ
উপসংহার
এই ছিল বিভিন্ন পরিস্থিতির জন্য বিভিন্ন পদ্ধতি এক্সেল ফাইলকে স্বয়ংক্রিয়ভাবে সিএসভিতে রূপান্তর করার। আশা করি এই আর্টিকেলটি আপনার জন্য সহায়ক এবং তথ্যবহুল হয়েছে। আপনার কোনো প্রশ্ন বা পরামর্শ থাকলে নিচে জানান। আরও বিস্তারিত গাইডের জন্য Exceldemy.com ভিজিট করুন।
সম্পর্কিত আর্টিকেলগুলো
- একাধিক এক্সেল ফাইলকে সিএসভিতে রূপান্তর (৩টি উপযুক্ত উপায়)
- এক্সেলকে পাইপ-ডিলিমিটেড টেক্সট ফাইলে রূপান্তর করার ম্যাক্রো (৩টি পদ্ধতি)
- কমা-ডিলিমিটেড টেক্সট ফাইলে এক্সেল ফাইল রূপান্তর (৩টি পদ্ধতি)
- [সঠিক!] এক্সেল কমাসহ সিএসভি সেভ করছে না (৭টি সম্ভাব্য সমাধান)
- খুলবেনা এক্সেলকে সিএসভিতে রূপান্তর (৪টি সহজ পদ্ধতি)