কম্পিউটার

কিভাবে Openpyxl দিয়ে পাইথন ব্যবহার করে এক্সেলে চার্ট তৈরি করবেন?


এই পোস্টে, আমি আপনাকে দেখাব কিভাবে Python - Openpyxl মডিউল ব্যবহার করে এক্সেলে চার্ট তৈরি করতে হয়। Openpyxl মডিউল ব্যবহার করে বার চার্ট তৈরি করার জন্য ডেটা হিসাবে আমরা টেনিস খেলোয়াড়দের গ্র্যান্ডস্লাম শিরোনাম দিয়ে স্ক্র্যাচ থেকে একটি এক্সেল স্প্রেডশীট তৈরি করব।

পরিচয়..

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

প্রস্তুত হচ্ছে..

Openpyxl মডিউলের বিকল্প পাইথনের xlrd মডিউলটি এক্সেল ফর্ম্যাটগুলিকে সমর্থন করার ক্ষেত্রে ভাল হয়েছে, তবে এই মডিউলটি এক্সেল স্প্রেডশীটে শুধুমাত্র পঠিত ক্রিয়াকলাপ সম্পাদন করতে পারে। Openpyxl মডিউল এক্সেল শীটে রিড এবং রাইট উভয় অপারেশন করতে পারে।

কিভাবে করতে হবে..

1) আসুন প্রথমে openpyxl মডিউলটি ব্যবহার করে ইনস্টল করি

pip install openpyxl.

2) একটি নতুন এক্সেল স্প্রেডশীট তৈরি করার জন্য ডেটা সংজ্ঞায়িত করুন৷

# import the module
import openpyxl

# Define your file name and data
file_name = "charts.xlsx"
file_data = (['player', 'titles'], ['Federer', 20], ['Nadal', 20], ['Djokovic', 17], ['Murray', 3])

3) একটি নতুন এক্সেল ফাইল তৈরি করুন। এটি একটি ডিফল্ট শীট তৈরি করে, যাকে বলা হয় শীট

xlsxfile = openpyxl.Workbook()
print(f" *** The sheets inside the excel_file are = {xlsxfile.sheetnames}")
new_workbook = xlsxfile['Sheet']


*** The sheets inside the excel_file are = ['Sheet']

4) এই শীটে টেনিস খেলোয়াড় এবং তাদের গ্র্যান্ডস্লাম খেতাব সম্পর্কে ডেটা যোগ করুন।

for row, (player,titles) in enumerate(file_data, 1):
new_workbook['A{}'.format(row)].value = player
new_workbook['B{}'.format(row)].value = titles

5) অবশেষে ফাইল_নাম ফাইলে ডেটা সংরক্ষণ করুন

xlsxfile.save(file_name)

6) ফাইলটি মেমরিতে লোড করুন এবং সমস্ত শীট তালিকাভুক্ত করুন। নোট করুন আমরা ধাপ 2 এর অংশ হিসাবে শুধুমাত্র একটি শীট তৈরি করেছি।

import openpyxl
excel_file_data = openpyxl.load_workbook(file_name)
excel_file_data.sheetnames


['Sheet']

7) প্রথম শীটটি পান এবং কোষের মানগুলি পান, যেমন A2 এবং B2৷

sheet_values = excel_file_data['Sheet']
print(f" *** One of the value from the sheet is - {sheet_values['A2'].value} - {sheet_values['B2'].value}")


*** One of the value from the sheet is - Federer - 20

8) আমাদের স্প্রেডশীটে সমস্ত সারি এবং কলাম আউটপুট করুন, শুধুমাত্র নিশ্চিত করতে যে আমাদের ডেটা চার্টের জন্য সঠিকভাবে ঢোকানো আছে।

for row in sheet_values:
for cell in row:
print(cell.value)


player
titles
Federer
20
Nadal
20
Djokovic
17
Murray
3

9) মডিউল বারচার্ট, openpyxl.chart থেকে রেফারেন্স আমদানি করুন এবং বারচার্ট অবজেক্ট তৈরি করুন।

from openpyxl.chart import BarChart, Reference
chart = BarChart()


#10.
# Fill the basic information like chart title,..

chart.title = "Players & Grand Slams"
chart.y_axis.title = 'Titles'
chart.x_axis.title = 'Tennis Players'


#11.
# Now we will create a reference to the data and append the data to the chart.

data = Reference(sheet_values, min_row=2, max_row=5, min_col=1, max_col=2)
chart.add_data(data, from_rows=True, titles_from_data=True)


#12.
# Finally, Add the chart to the sheet and save the file.

new_workbook.add_chart(chart, "A6")
xlsxfile.save(file_name)

ধাপ 11 একটি রেফারেন্স অবজেক্টের মাধ্যমে একটি রেফারেন্স বক্স তৈরি করে, সারি 2 কলাম 1 থেকে সারি 5 কলাম 2 পর্যন্ত, এটি সেই এলাকা যেখানে আমাদের ডেটা থাকে, অফকোর্স হেডার বাদ দেওয়া হয়৷

ডাটা .add_data() পদ্ধতিতে চার্টে যোগ করা হয়। সারি_থেকে - প্রতিটি সারি একটি ভিন্ন ডেটা সিরিজ তৈরি করে। titles_from_data - সিরিজের নাম দিতে প্রথম কলাম ব্যবহার করে।

উদাহরণ

আমরা উপরে ব্যাখ্যা করা সবকিছু একসাথে রাখব।

"""
Program: Create charts in excel using Python with openpyxl params: NA
output: Creates a chart.xlsx file with tennis players grandslam titles and a barchart representation of the data
"""
# import the module
import openpyxl
# Define your file name and data
file_name = "charts.xlsx"
file_data = ([ 'player' , 'titles' ], [ 'Federer' , 20 ], [ 'Nadal' , 20 ], [ 'Djokovic' , 17 ], [ 'Murray' , 3 ])
# create an excel spreadsheet
xlsxfile = openpyxl . Workbook ()
print ( f " *** The sheets inside the excel_file are = { xlsxfile . sheetnames } " )
new_workbook = xlsxfile [ 'Sheet' ]
for row , ( player , titles ) in enumerate ( file_data , 1 ):
new_workbook [ 'A {} ' . format ( row )] . value = player
new_workbook [ 'B {} ' . format ( row )] . value = titles
# save the spreadsheet
xlsxfile .save ( file_name )
# read the data
 excel_file_data = openpyxl . load_workbook ( file_name )
excel_file_data . sheetnames

sheet_values = excel_file_data [ 'Sheet' ]
print ( f " *** One of the value from the sheet is - { sheet_values [ 'A2' ] . value } - { sheet_values [ 'B2' ] . value } " )
for row in sheet_values :
for cell in row :
print ( cell . value ) # barchart creation from openpyxl.chart
import BarChart , Reference chart = BarChart ()
# Fill the basic information like chart title,..
chart . title = "Players & Grand Slams"
 chart . y_axis . title = 'Titles'
chart . x_axis . title = 'Tennis Players'
# Now we will create a reference to the data and append the data to the chart.
data = Reference ( sheet_values , min_row = 2 , max_row = 5 , min_col = 1 , max_col = 2 )
chart .
 add_data ( data , from_rows = True , titles_from_data = True )
# Finally, Add the chart to the sheet and save the file.
new_workbook . add_chart ( chart , "A6" )
 xlsxfile . save ( file_name )
*** The sheets inside the excel_file are = ['Sheet']
*** One of the value from the sheet is - Federer - 20
player
titles
Federer
20
Nadal
20
Djokovic
17
Murray
3

আউটপুট

উপরের প্রোগ্রামটি কার্যকর হলে, নিচের কোডের মতো একই ডিরেক্টরিতে charts.xlsx তৈরি হবে।

কিভাবে Openpyxl দিয়ে পাইথন ব্যবহার করে এক্সেলে চার্ট তৈরি করবেন?


  1. পাইথনে চার্টে কিংবদন্তি কীভাবে যুক্ত করবেন?

  2. কিভাবে এক্সেলে একটি ডাটাবেস তৈরি করবেন (সহজ পদক্ষেপ সহ)

  3. এক্সেলে ফর্ম সহ একটি ডেটাবেস কীভাবে তৈরি করবেন

  4. কিভাবে এক্সেলে একটি ক্লায়েন্ট ডেটাবেস তৈরি করবেন (সহজ পদক্ষেপ সহ)