এই পোস্টে আমরা পাইথনে CSV ফাইলগুলি কীভাবে পড়তে এবং লিখতে হয় তা দেখব। উদাহরণ 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'}
পান্ডা ব্যবহার করে CSV ফাইল পড়ুন
পান্ডাস ব্যবহার করার জন্য, আমাদের প্রথমে পান্ডাস লাইব্রেরি ইনস্টল করতে হবে।
ইনস্টল করতে, এই কমান্ডটি চালান: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
পান্ডা ব্যবহার করে পাইথন 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 লিখুন
N.B. প্রথম সারিটি কলাম শিরোনাম হিসাবে ব্যবহৃত হয়
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 ফাইলে যুক্ত করতে চান, তাহলে আপনাকে 'a'
-এ পাস করতে হবে open()
এর প্যারামিটার পদ্ধতি এছাড়াও আপনাকে “শিরোনাম” এড়িয়ে যেতে হবে।
যেমন:
with open('orders.csv', 'a', newline='') as file:
order = csv.writer(file)
order.writerow(['10251', '6', '11/02/2020'])
DictWriter দিয়ে CSV ফাইল লিখুন
আমরা DictWriter
ও ব্যবহার করতে পারি csv
এর পদ্ধতি একটি 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