কম্পিউটার

পাইথন CSV মডিউল:ধাপে ধাপে নির্দেশিকা

পাইথন CSV মডিউলটি CSV ফাইলগুলি পরিচালনা করতে ব্যবহৃত হয়। CSV ফাইলগুলি অনেক তথ্য ধারণ করতে পারে এবং CSV মডিউল পাইথনকে CSV ফাইলগুলি পড়তে এবং লিখতে দেয় reader() এবং writer() ফাংশন।


পঠন, লেখা এবং ডেটা ম্যানিপুলেট করা প্রোগ্রামিংয়ের একটি অপরিহার্য অংশ। অতএব, পাইথনে ফাইলগুলি কীভাবে পরিচালনা করবেন তা জানা দরকারী হতে পারে, যাতে আপনি বাহ্যিক উত্স থেকে ডেটা পড়তে এবং লিখতে পারেন।

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

এখানেই পাইথন CSV মডিউল আসে৷ CSV ফাইলগুলি প্রচুর পরিমাণে ডেটা সঞ্চয় করতে ব্যবহৃত হয় এবং CSV মডিউল আপনাকে পাইথনে সেই ফাইলগুলিকে পার্স করতে দেয়৷ এই টিউটোরিয়ালে, আমরা CSV পাইথন মডিউল ব্যবহার করে কিভাবে CSV ফাইল পড়তে এবং লিখতে হয় তা অন্বেষণ করতে যাচ্ছি।

CSV রিফ্রেশার

আপনি যখন ডেটা নিয়ে কাজ করছেন, তখন আপনার কাছে সেই ডেটার একটি তালিকা থাকতে পারে কমা দ্বারা আলাদা করা। উদাহরণস্বরূপ, আপনার কাছে আইসক্রিম অর্ডারগুলির একটি তালিকা থাকতে পারে যার মানগুলি কমা দিয়ে আলাদা করা হয়েছে৷ এই ডেটা স্ট্রাকচারটিকে CSV ডেটা বা কমা-বিচ্ছিন্ন মান হিসাবে উল্লেখ করা হয়।

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

এখানে একটি CSV ফাইলের উদাহরণ:

suppliers.csvHendersons Creamery, 123 Main Street, CreamPeterson Chocolate, 129 Second Street, Chocolate Sprinkles

এই ফাইলটি তিনটি আইটেম সঞ্চয় করে:একজন সরবরাহকারীর নাম, তাদের ঠিকানা এবং তারা যে পণ্যের সাথে আমাদের ব্যবসা সরবরাহ করে। আমাদের ফাইলটি দুটি লাইনের ডেটাও সঞ্চয় করে, একটি হেন্ডারসন ক্রিমেরির জন্য এবং অন্যটি পিটারসন চকোলেটের জন্য৷

81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷

গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় কাটিয়েছে।

যেহেতু আমাদের ডেটা একটি CSV ফাইলে কাঠামোগত, তাই আমরা এটিকে একটি পাইথন প্রোগ্রামের মাধ্যমে পার্স করতে পারি এবং পৃথক কলাম বা সারি থেকে ডেটা পেতে পারি৷

পাইথন CSV মডিউল

Python CSV মডিউলটি পাইথনে CSV ডেটা পার্স করতে ব্যবহার করা যেতে পারে। সুতরাং, যদি আপনার কাছে সরবরাহকারীর তথ্যের একটি CSV ফাইল থাকে, উদাহরণস্বরূপ, আপনি সেই ডেটা পুনরুদ্ধার করতে এবং কাজ করতে CSV মডিউল ব্যবহার করতে পারেন৷

CSV একটি বিল্ট-ইন পাইথন মডিউল, কিন্তু আমরা এটি ব্যবহার শুরু করার আগে, আমাদের CSV আমদানি করতে হবে আমাদের প্রোগ্রামের মধ্যে। আমরা এই কোড ব্যবহার করে তা করতে পারি:

csv আমদানি করুন

CSV ফাইল পড়া

একটি CSV ফাইলে ডেটা নিয়ে কাজ করার আগে, আপনাকে ফাইলটি পড়তে হবে। CSV মডিউলটি reader() নামে একটি পদ্ধতির সাথে আসে যা আমাদের প্রোগ্রামে একটি CSV ফাইল পড়তে ব্যবহার করা যেতে পারে। রিডার ফাংশন একটি নির্দিষ্ট ফাইলের প্রতিটি লাইন নেয় এবং এটিকে কলামের তালিকায় পরিণত করে।

ধরা যাক যে আমাদের কাছে suppliers.csv নামে একটি ফাইলে আইসক্রিম সরবরাহকারীদের একটি তালিকা রয়েছে যে আমরা আমাদের প্রোগ্রামে পড়তে চাই। ফাইলের বিষয়বস্তু নিম্নরূপ:

হেন্ডারসন ক্রিমারি, 123 মেইন স্ট্রিট, ক্রিমপিটারসন চকলেট, 129 সেকেন্ড স্ট্রীট, চকলেট স্প্রিঙ্কলসএইচডব্লিউ স্মিথ অ্যান্ড কো, 17 বোস্টন অ্যাভিনিউ, আইসক্রিম শঙ্কু

আমরা নিম্নলিখিত কোড ব্যবহার করে এই ডেটা পুনরুদ্ধার করতে পারি:

 csv আমদানি করুন open("suppliers.csv", "r") হিসেবে f হিসেবে:বিষয়বস্তুতে c-এর জন্য csv.reader(f) 

এখানে অনেক কিছু চলছে, তাই আসুন এটি ভেঙে ফেলি। প্রথম লাইনে, আমরা csv আমদানি করি মডিউল, যা আমাদের কোডে CSV পদ্ধতি ব্যবহার করতে দেয়। পরবর্তী লাইনে, আমরা একটি with ব্যবহার করি আমাদের ফাইল খোলার বিবৃতি, এবং বলে যে আমাদের ফাইলটিকে f মান নির্ধারণ করা উচিত .

এরপর, আমরা contents = csv.reader(f) ব্যবহার করি csv.reader() ব্যবহার করে আমাদের ফাইলের বিষয়বস্তু পড়তে ফাংশন অবশেষে, আমাদের প্রোগ্রাম একটি লুপ তৈরি করে যা CSV ফাইলের প্রতিটি লাইনের মধ্য দিয়ে লুপ করে এবং Python শেলে প্রিন্ট করে।

আমাদের প্রোগ্রাম নিম্নলিখিত প্রদান করে:

['হেন্ডারসন ক্রিমেরি', '123 মেইন স্ট্রিট', 'ক্রিম']['পিটারসন চকোলেট', '129 সেকেন্ড স্ট্রিট', 'চকলেট স্প্রিঙ্কলস']['এইচডব্লিউ স্মিথ অ্যান্ড কো', '17 বোস্টন অ্যাভিনিউ', 'আইসক্রিম শঙ্কু']

আপনি দেখতে পাচ্ছেন, আমাদের প্রোগ্রামটি আমাদের ফাইলের বিষয়বস্তু পড়েছে এবং প্রতিটি লাইনকে একটি অ্যারেতে পরিণত করেছে। এখন যেহেতু আমাদের কাছে এই ডেটা আছে, আমরা এটিকে আমাদের প্রোগ্রামে ব্যবহার করতে পারি৷

ধরা যাক যে আমরা পরের সপ্তাহের জন্য আমাদের অর্ডার বাতিল করার জন্য একটি নোটিশ পাঠাচ্ছি কারণ দোকান বন্ধ থাকবে। আমরা প্রতিটি সরবরাহকারীর ঠিকানা পেতে এই কোডটি ব্যবহার করতে পারি যাতে আমরা তাদের নোটিশ পাঠাতে পারি:

… বিষয়বস্তুতে c-এর জন্য:প্রিন্ট(c[1])

আমাদের প্রোগ্রাম ফিরে আসে:

123 প্রধান রাস্তা129 দ্বিতীয় রাস্তা 17 বোস্টন এভিনিউ

আমাদের কোডে, আমরা একটি for তৈরি করি লুপ যা আমাদের contents এর প্রতিটি লাইনের মধ্য দিয়ে যায় পরিবর্তনশীল তারপর, আমরা প্রতিটি আইটেমের মান সূচক নম্বর 1 দিয়ে প্রিন্ট আউট করি , যা এই ক্ষেত্রে প্রতিটি সরবরাহকারীর ঠিকানা ধারণ করে।

এখন, ধরা যাক যে আমরা আমাদের ফাইল থেকে একটি অ্যারেতে ডেটা পড়তে চাই। এটি একটি সাধারণ ফাংশন কারণ এটি পরবর্তীতে ব্যবহারের জন্য আমাদের ডেটা অন্য ভেরিয়েবলে সংরক্ষণ করতে দেয়। এই ক্রিয়াটি সম্পাদন করতে আমরা যে কোডটি ব্যবহার করতে পারি তা এখানে:

 csvsuppliers আমদানি করুন =[] open("suppliers.csv", "r") সহ f:contents =csv.reader(f) বিষয়বস্তুতে c এর জন্য:suppliers.append(c)print(suppliers)

আমাদের কোড নিম্নলিখিত প্রদান করে:

[['Hendersons Creamery', '123 Main Street', 'Crime'], ['Peterson Chocolate', '129 Second Street', 'Chcolate Sprinkles'], ['HW Smith and Co', '17 Boston অ্যাভিনিউ', 'আইসক্রিম কনস']]

আমাদের কোডে কী ঘটছে তা ব্যাখ্যা করা যাক। আমাদের প্রোগ্রাম suppliers.csv ফাইলটি খোলে , ফাইলটি পড়ে, তারপর অ্যারে suppliers মধ্যে প্রতিটি রেকর্ড যুক্ত করে যে আমরা আমাদের প্রোগ্রামের শুরুতে ঘোষণা করেছি। তারপর, আমাদের প্রোগ্রাম পরিবর্তনশীল suppliers প্রিন্ট করে .

CSV ফাইলে লেখা

CSV মডিউলটিতে একটি পদ্ধতি রয়েছে যা একটি CSV ফাইলে ডেটা লিখতে ব্যবহার করা যেতে পারে:writer() . writer() ফাংশন আমাদের নির্দিষ্ট ফাইলে ডেটা লিখতে দেয় যাতে আমরা পরবর্তীতে ব্যবহারের জন্য আমাদের ডেটা সংরক্ষণ করতে পারি।

writer() ফাংশন একটি বস্তু তৈরি করে যা আমরা একটি ফাইলে লিখতে ব্যবহার করতে পারি। তারপর, আমাদের ফাইলে ডেটা লেখার জন্য, আমরা writerow() ব্যবহার করি পদ্ধতি।

ধরা যাক যে আমরা একটি প্রোগ্রাম লিখেছি যা প্রতিটি সরবরাহকারীর রেকর্ডে একটি নতুন মান যোগ করে। সরবরাহকারী একটি নির্দিষ্ট পণ্যের জন্য প্রাথমিক সরবরাহকারী কিনা এই মান ধরে রাখে। এই কোডটি আমরা একটি ফাইলে আমাদের কাছে থাকা ডেটা লিখতে ব্যবহার করতে পারি:

ইম্পোর্ট করুন csvsuppliers =[] open("suppliers.csv", "r") এর সাথে f:contents =csv.reader(f) বিষয়বস্তুতে c এর জন্য:c.append("হ্যাঁ") suppliers.append(c )সহ open("new_suppliers.csv", "w") হিসেবে f:write_to_file =csv.writer(f)এর জন্য সরবরাহকারীদের মধ্যে:write_to_file.writerow(s)

আমাদের কোডের শুরু আমাদের পূর্ববর্তী উদাহরণগুলির সাথে খুব মিল; এটি suppliers.csv ফাইলটি পড়ে এবং এর বিষয়বস্তু suppliers কাছে নিয়ে যায় অ্যারে একমাত্র পার্থক্য হল রিড ফাংশন Yes নামে একটি নতুন মান যোগ করে আমাদের সরবরাহকারী অ্যারে প্রতিটি আইটেম. এই মানটি বোঝায় যে সরবরাহকারী একটি নির্দিষ্ট পণ্যের প্রাথমিক সরবরাহকারী কিনা।

এরপর, আমরা new_suppliers.csv নামে একটি নতুন ফাইল খুলি এবং আমাদের suppliers বিষয়বস্তু লিখুন সেই ফাইলে। আমরা writer() ব্যবহার করি লেখার জন্য আমাদের ফাইল প্রস্তুত করার ফাংশন৷

তারপর, আমরা একটি for তৈরি করি লুপ যা আমাদের suppliers মাধ্যমে যায় অ্যারে এবং writerow() ব্যবহার করে new_suppliers.csv-এ প্রতিটি সরবরাহকারীকে যোগ করার পদ্ধতি ফাইল।

আমাদের কোড নিম্নলিখিত প্রদান করে:

new_suppliers.csvHenderson Creamery, 123 Main Street, Cream, YesPeterson Chocolate, 129 Second Street, Chocolate Sprinkles, YesHW Smith and Co, 17 Boston Avenue, Ice Cream Cones, হ্যাঁ

যাইহোক, যদি আমরা আমাদের সম্পূর্ণ suppliers লিখতে চাই তবে প্রতিটি আইটেম লুপ করার প্রয়োজন নেই। একটি ফাইলের পরিবর্তনশীল। পরিবর্তে, আমরা writerows() ব্যবহার করতে পারি suppliers-এ প্রতিটি আইটেম লেখার পদ্ধতি আমাদের new_suppliers.csv এর পরিবর্তনশীল ফাইল।

আমরা যে কোডটি ব্যবহার করব তা এখানে:

… write_to_file =csv.writer(f) write_to_file.writerows(সরবরাহকারী)…

আমাদের কোড ফিরে আসে:

new_suppliers.csvHenderson Creamery, 123 Main Street, Cream, YesPeterson Chocolate, 129 Second Street, Chocolate Sprinkles, YesHW Smith and Co, 17 Boston Avenue, Ice Cream Cones, হ্যাঁ

CSV ফাইল উদ্ধৃতি

উপরের উদাহরণে, আমাদের কোড suppliers লিখেছে এটি প্রদর্শিত হিসাবে একটি নতুন ফাইল অ্যারে.

যাইহোক, এমন কিছু সময় থাকতে পারে যখন আপনি প্রতিটি মান উদ্ধৃতি চিহ্নে একটি ফাইলে লিখতে চান। উদাহরণস্বরূপ, আপনার কাছে সরবরাহকারীদের একটি তালিকা থাকতে পারে যেখানে কয়েকটি সরবরাহকারীর নামে কমা রয়েছে, যার ফলে আমাদের CSV ফাইলটি বিকৃত হয়ে যাবে।

CSV মডিউলটিতে চারটি উদ্ধৃতি ফাংশন রয়েছে যা উদ্ধৃতি চিহ্নগুলিতে আপনার ফাইলে লেখার মানগুলিকে ঘিরে রাখতে ব্যবহার করা যেতে পারে যাতে এটি না ঘটে। এই ফাংশনগুলি csv.writer()-এ একটি যুক্তি হিসাবে পাস করা হয় পদ্ধতি, এবং নিম্নরূপ:

  • csv.QUOTE_ALL :প্রতিটি স্ট্রিংকে কোটেশনে ঘিরে রাখুন
  • csv.QUOTE_NONNUMERIC :সমস্ত স্ট্রিং ক্ষেত্র উদ্ধৃত করুন
  • csv.QUOTE_MINIMAL :বিশেষ অক্ষর সহ উদ্ধৃতি ক্ষেত্র
  • csv.QUOTE_NONE :কোনো মান উদ্ধৃত করবেন না

সুতরাং, ধরা যাক যে আমরা আমাদের suppliers-এ প্রতিটি মান উদ্ধৃত করতে চাই অ্যারে যখন এটি আমাদের ফাইলে লেখা হয়। আমরা নিম্নলিখিত কোড ব্যবহার করতে পারি:

…write_to_file =csv.writer(f, quoting=csv.QUOTE_ALL)…

এখন, যখন আমরা আমাদের প্রোগ্রাম চালাই, তখন আমাদের new_suppliers.csv ফাইলটিতে নিম্নলিখিতগুলি রয়েছে:

"হেন্ডারসন ক্রিমারি"," 123 মেইন স্ট্রিট"," ক্রিম","হ্যাঁ""পিটারসন চকলেট"," 129 সেকেন্ড স্ট্রিট","চকলেট স্প্রিঙ্কলস","হ্যাঁ""HW স্মিথ অ্যান্ড কো"," 17 বোস্টন অ্যাভিনিউ","আইসক্রিম শঙ্কু","হ্যাঁ"

উপসংহার

ফাইল থেকে ডেটা পড়া এবং ডেটা লেখার ফলে আপনি আপনার পাইথন প্রোগ্রাম থেকে উৎপন্ন ডেটা পুনরুদ্ধার এবং সংরক্ষণ করতে পারবেন। উদাহরণস্বরূপ, যদি আপনার কাছে আইসক্রিমের স্বাদ এবং দামের একটি মেনু থাকে যা আপনি পাইথন প্রোগ্রামের মধ্যে কাজ করতে চান তবে আপনি একটি ফাইলে ডেটা সংরক্ষণ করতে চাইতে পারেন৷

এই টিউটোরিয়ালে, আমরা পাইথন CSV মডিউলের মূল বিষয়গুলি এবং এটি কীভাবে কাজ করে তা অন্বেষণ করেছি। আমরা reader() ব্যবহার করে ফাইলগুলি কীভাবে পড়তে এবং লিখতে হয় তা নিয়েও আলোচনা করেছি এবং writer() বস্তু।

এখন আপনি পেশাদারের মতো পাইথন ব্যবহার করে CSV ফাইল থেকে ডেটা পড়তে এবং ডেটা লিখতে প্রস্তুত!

সারা বিশ্বের কোম্পানিগুলি এমন লোকদের নিয়োগ করছে যারা পাইথনে কোড করতে জানে৷ ডাউনলোড করুন ফ্রি ক্যারিয়ার কর্ম অ্যাপ পাইথন শেখা কীভাবে আপনাকে প্রযুক্তিতে ক্যারিয়ার গড়তে সাহায্য করতে পারে সে সম্পর্কে আরও জানতে আজ!


  1. পাইথন ম্যাপ ফাংশন:একটি ধাপে ধাপে নির্দেশিকা

  2. পাইথন তালিকা পদ্ধতি:একটি ধাপে ধাপে নির্দেশিকা

  3. পাইথন উত্তরাধিকার:একটি ধাপে ধাপে নির্দেশিকা

  4. পাইথন দোভাষী:একটি ধাপে ধাপে গাইড