কম্পিউটার টিউটোরিয়াল

পাইথনে CSV ফাইল পড়া এবং লেখা: csv এবং Pandas দিয়ে ধাপে ধাপে গাইড

এই পোস্টে আমরা দেখব কীভাবে পাইথনে CSV ফাইল পড়া এবং লেখা যায়। উদাহরণগুলো CSV মডিউল এবং Pandas ব্যবহার করে।

CSV মডিউল ব্যবহার করে পাইথনে CSV ফাইল পড়া

এই কোড উদাহরণটি orders.csv নামে একটি ফাইল পড়ে এবং ডেটার মাধ্যমে লুপ করে:

import csv
f = open("orders.csv", "rt")
orders = csv.reader(f)
for order in orders:
    print(order)
f.close()

orders.csv আউটপুট:

['OrderID', 'CustomerID', 'OrderDate']
['10248', '4', '10/02/2020']
['10249', '2', '10/02/2020']
['10250', '7', '10/02/2020']

CSV ফাইল ডিকশনারি হিসেবে পড়া

DictReader মেথড ব্যবহার করে CSV ফাইলের প্রতিটি সারি ডিকশনারিতে একটি সারি হিসেবে উপস্থাপিত হয়, কলাম হেডার কি হিসেবে।

import csv
orders = csv.DictReader(open("orders.csv"))
for order in orders:
    print(order)

orders.csv আউটপুট:

{'OrderID': '10248', 'CustomerID': '4', 'OrderDate': '10/02/2020'}
{'OrderID': '10249', 'CustomerID': '2', 'OrderDate': '10/02/2020'}
{'OrderID': '10250', 'CustomerID': '7', 'OrderDate': '10/02/2020'}

Pandas ব্যবহার করে CSV ফাইল পড়া

Pandas ব্যবহার করতে হলে, প্রথমে Pandas লাইব্রেরি ইনস্টল করতে হবে।

ইনস্টল করতে এই কমান্ড চালান: pip3 install pandas।

import pandas
orders = pandas.read_csv('orders.csv')
print(orders)

orders.csv আউটপুট:

OrderID CustomerID OrderDate
10248 4 10/02/2020
10249 2 10/02/2020
10250 7 10/02/2020

Pandas ব্যবহার করে পাইথনে CSV লেখা

from pandas import DataFrame
import pandas as pd
order = pd.DataFrame({'OrderID': ['10251', '10252', '10253'],
                      'CustomerID': ['5', '1', '8'],
                      'OrderDate': ['11/02/2020', '11/02/2020', '11/02/2020']})
order.to_csv('newOrders.csv', index=False)

newOrders.csv আউটপুট:

OrderID,CustomerID,OrderDate
10251,5,11/02/2020
10252,1,11/02/2020
10253,8,11/02/2020

এক্সিস্টিং CSV ফাইলে ডেটা অ্যাপেন্ড করা

CSV ফাইলে লেখার ডিফল্ট মোড 'w'। যদি আমরা এক্সিস্টিং CSV ফাইলে ডেটা অ্যাপেন্ড করতে চাই, তবে আমাদের অ্যাপেন্ড মোড ব্যবহার করতে হবে, যেমন mode='a'

from pandas import DataFrame
import pandas as pd
order = pd.DataFrame({'OrderID': ['10254'],
                      'CustomerID': ['3'],
                      'OrderDate': ['11/02/2020']})
order.to_csv('newOrders.csv', mode='a', index=False, header=False)

newOrders.csv আউটপুট:

OrderID,CustomerID,OrderDate
10251,5,11/02/2020
10252,1,11/02/2020
10253,8,11/02/2020
10254,3,11/02/2020

CSV মডিউল ব্যবহার করে পাইথনে CSV লেখা

দ্রষ্টব্য: প্রথম সারি কলাম হেডার হিসেবে ব্যবহৃত হয়

import csv
with open('orders.csv', 'w', newline='') as file:
    order = csv.writer(file)
    order.writerow(['OrderID', 'CustomerID', 'OrderDate'])
    order.writerow(['10251', '6', '11/02/2020'])
    order.writerow(['10252', '9', '11/02/2020'])
    order.writerow(['10253', '5', '11/02/2020'])

orders.csv আউটপুট:

OrderID,CustomerID,OrderDate
10251,6,11/02/2020
10252,9,11/02/2020
10253,5,11/02/2020

যদি আপনি CSV মডিউল ব্যবহার করে এক্সিস্টিং csv ফাইলে অ্যাপেন্ড করতে চান, তবে open() মেথডে 'a' প্যারামিটার পাস করতে হবে। আপনাকে "হেডিং" স্কিপ করতে হবে।

উদাহরণ:

with open('orders.csv', 'a', newline='') as file:
    order = csv.writer(file)
    order.writerow(['10251', '6', '11/02/2020'])

DictWriter ব্যবহার করে CSV ফাইল লেখা

আমরা csv ক্লাসের DictWriter মেথডও ব্যবহার করতে পারি CSV ফাইল তৈরি এবং লেখার জন্য।

import csv
with open('orders.csv', 'w', newline='') as file:
    fieldnames = ['OrderID', 'CustomerID', 'OrderDate']
    order = csv.DictWriter(file, fieldnames=fieldnames)
    order.writeheader()
    order.writerow({'OrderID': '10251', 'CustomerID': 7, 'OrderDate': '11/02/2020'})
    order.writerow({'OrderID': '10252', 'CustomerID': 3, 'OrderDate': '11/02/2020'})
    order.writerow({'OrderID': '10253', 'CustomerID': 1, 'OrderDate': '11/02/2020'})

orders.csv আউটপুট:

OrderID,CustomerID,OrderDate
10251,7,11/02/2020
10252,3,11/02/2020
10253,1,11/02/2020
  1. পাইথনে পান্ডাস ডেটাফ্রেম CSV ফাইলে লেখার পদ্ধতি

  2. পাইথনে পান্ডাস দিয়ে হেডার ছাড়া CSV ফাইল পড়া

  3. পাইথনে PDF CSV-তে কনভার্ট করা

  4. পাইথনে openpyxl ব্যবহার করে এক্সেল ফাইল পড়া ও লিখা