এক্সেল সবচেয়ে বিখ্যাত স্প্রেডশীট এবং প্রায় সব কম্পিউটার ইউজার স্প্রেডশীট দিয়ে ডেটা ম্যানেজ করার ধারণায় কমফরটেবল। slutt অবশ্যই কিছু পাইথন প্রোগ্রাম এক্সেলের সাথে ইন্টারঅ্যাক্ট করতে হবে। এক্সেল ফাইল তৈরি, পড়া এবং লিখতে অনেক পাইথন লাইব্রেরি উপলব্ধ। নিচে কিছু গুরুত্বপূর্ণ লাইব্রেরির উদাহরণ দেখব।
openpyxl ব্যবহার করে
এই লাইব্রেরি Excel 2010 xlsx/xlsm/xltx/xltm ফাইল পড়তে/লিখতে পারে। নিচের উদাহরণে আমরা একটি এক্সেল ওয়ার্কশীট তৈরি করব, এর সেলগুলোর ডেটা অ্যাসাইন করব এবং ফাইলটি বাঞ্ছিত লোকেশনে সংরক্ষণ করব। মডিউলে অনেক বিল্ট-ইন মেথড আছে যেগুলো এই কাজে ব্যবহৃত হয়।
উদাহরণ
# openpyxl
from openpyxl import Workbook
Spreadsheet = Workbook()
# সক্রিয় ওয়ার্কশীট पकড়ো
worksheet = Spreadsheet.active
# ডেটা সরাসরি সেলে অ্যাসাইন করা যায়
worksheet['A1'] = 50
# রোও অ্যাপেন্ড করা যায়
worksheet.append([5, 15, 25, 35, 45, 55])
worksheet.append([9, 19, 29, 39, 49, 59])
# পাইথন টাইপ অটোমেটিক্যালি কনভার্ট হয়
import datetime
t1 = datetime.datetime.now()
worksheet['A1'] = t1.year
worksheet['A2'] = t1
# ফাইল সংরক্ষণ
Spreadsheet.save("E:\\openpyxl.xlsx")
আউটপুট
উপরোক্ত কোডটি রান করলে নিচের ফলাফল পাবেন:
xlwt ব্যবহার করে
এটি ডেভেলপারদের জন্য একটি লাইব্রেরি যা Microsoft Excel 95 থেকে 2003 ভার্সন পর্যন্ত কম্প্যাটিবল স্প্রেডশীট ফাইল জেনারেট করতে সাহায্য করে। আমরা শুধু সেলে ভ্যালু লিখব নয়, ভ্যালু ফরম্যাটও করতে পারি। ভ্যালুগুলো বোল্ড, কালারড, ইট্যালিক করা যায়। ফন্ট সাইজও কন্ট্রোল করা যায়। নিচের উদাহরণে আমরা লেখা নম্বরগুলো ফরম্যাট করব এবং ব্লু কালার করব।
উদাহরণ
import xlwt
from datetime import datetime
Spreadsheet = xlwt.Workbook()
worksheet = Spreadsheet.add_sheet('Newsheet1')
format1 = xlwt.easyxf('font: name Times New Roman, color-index blue, bold on', num_format_str='#,##0.00')
format2 = xlwt.easyxf(num_format_str='D-MMM-YY')
worksheet.write(0, 0, datetime.now(), format2)
worksheet.write(0, 1, datetime.now().strftime("%B"), format2)
worksheet.write(0, 2, datetime.now().strftime("%A"), format2)
worksheet.write(1, 0, 5369.2, format1)
worksheet.write(1, 1, 1926.5, format1)
worksheet.write(1, 2, 4896.2, format1)
worksheet.write(2, 0, 5)
worksheet.write(2, 1, 10)
worksheet.write(2, 2, xlwt.Formula("A3+B3"))
Spreadsheet.save('E:\\xlwt_spreadsheet.xls')
আউটপুট
উপরোক্ত কোডটি রান করলে নিচের ফলাফল পাবেন:
xlsxwriter ব্যবহার করে
এই মডিউল Excel 2007 ভার্সনের ফাইল তৈরি করতে পারে। এর ফিচার উপরের দুটোর চেয়ে অনেক বেশি। এটি একাধিক ওয়ার্কশীটে টেক্সট, নম্বর, ফর্মুলা এবং হাইপারলিংক লিখতে পারে। নিচের উদাহরণে আমরা শুধু টেক্সট ফরম্যাটিং করলাম নয়, একটি ইমেজও শীটে যোগ করলাম।
উদাহরণ
import xlsxwriter
Spreadsheet = xlsxwriter.Workbook('E:\\xlsxw_spreadsheet.xlsx')
sheet = Spreadsheet.add_worksheet()
sheet.set_column('A:A', 18)
# সেল হাইলাইট করার জন্য বোল্ড ফরম্যাট
bold = Spreadsheet.add_format({'bold': True})
# সিম্পল টেক্সট
sheet.write('A1', 'Freelancer', bold)
sheet.write('A2', 'Work')
sheet.write('A3', 100)
sheet.write('A4', 1000)
sheet.write('B1', 'DECIMAL', bold)
sheet.write('B2', 17.1)
sheet.write('B3', 29.6)
sheet.write('B4', 45.9)
sheet.write('C1', 'POSITIVE', bold)
sheet.write('C2', 69)
sheet.write('C3', 53)
sheet.write('C4', 36)
sheet.write('D1', 'NEGATIVE', bold)
sheet.write('D2', -89)
sheet.write('D3', -26)
sheet.write('D4', -15)
# একটি ইমেজ যোগ করা
sheet.insert_image('E5', 'E:\\firefox.JPG')
Spreadsheet.close()
আউটপুট
উপরোক্ত কোডটি রান করলে নিচের ফলাফল পাবেন:


