Google পত্রকের জন্য ওপেন সোর্স Python API
পাইথন লাইব্রেরি যা এক্সেল থেকে পাইথনকে কল করা সহজ করে এবং এর বিপরীতে।
এক্সএলউইংস হল এক্সেল ফাইল ফরম্যাট ম্যানিপুলেট করার জন্য একটি ওপেন সোর্স পাইথন এপিআই। এপিআই ব্যবহার করে আপনি পাইথন থেকে এক্সেলকে স্বয়ংক্রিয়ভাবে রিপোর্ট তৈরি করতে, ইউডিএফ (ব্যবহারকারী-সংজ্ঞায়িত ফাংশন) লিখতে, ম্যাক্রো লিখতে এবং দূরবর্তীভাবে এক্সেল নিয়ন্ত্রণ করতে পারেন। অধিকন্তু, API কোষ, তালিকা, রেঞ্জ, NumPy অ্যারে, পান্ডা ডেটা ফ্রেম এবং পান্ডা সিরিজের মতো ডেটা স্ট্রাকচারগুলিকে ম্যানিপুলেট করার অনুমতি দেয়।
Xlwings-এর জন্য Microsoft Excel এর ইনস্টলেশন প্রয়োজন, তাই সবকিছু Windows এবং macOS-এ কাজ করে শুধুমাত্র UDF গুলি শুধুমাত্র Windows এ কাজ করে।
Xlwings দিয়ে শুরু করা
xlwings মসৃণভাবে চালানোর জন্য আপনার সিস্টেমে Python 3.5 বা উচ্চতর ইনস্টল করা দরকার। PIP এর মাধ্যমে ইনস্টল করার প্রস্তাবিত উপায়। নিম্নলিখিত কমান্ড ব্যবহার করুন.
PIP কমান্ডের মাধ্যমে Xlwings ইনস্টল করুন
pip install xlwings
Conda এর মাধ্যমে Xlwings ইনস্টল করুন
conda install xlwings
পাইথন থেকে এক্সেলের সাথে ইন্টারঅ্যাক্ট করুন
Xlwings API পাইথন ব্যবহার করে মাইক্রোসফ্ট স্প্রেডশীট পরিচালনা করার অনুমতি দেয়। API ব্যবহার করে আপনি একটি বিদ্যমান ওয়ার্কবুকের সাথে সংযোগ করতে পারেন বা xlwings.Book() পদ্ধতি ব্যবহার করে একটি নতুন তৈরি করতে পারেন। আপনি পরিসরে এবং থেকে মান পড়তে/লিখতে পারেন, পরিসীমা প্রসারিত করতে পারেন, ডেটাটাইপগুলিকে সহজেই রূপান্তর করতে পারেন। উপরন্তু, আপনি আপনার এক্সেল ওয়ার্কবুকে ছবি হিসেবে Matplotlib এবং Plotly চার্ট যোগ করতে পারেন।
পাইথনের মাধ্যমে গতিশীলভাবে এক্সেল রেঞ্জের মাত্রা পান
sheet = xw.Book().sheets[0]
sheet['A1'].value = [[1,2], [3,4]]
range1 = sheet['A1'].expand('table') # or just .expand()
range2 = sheet['A1'].options(expand='table')
range1.value
[[1.0, 2.0], [3.0, 4.0]]
range2.value
[[1.0, 2.0], [3.0, 4.0]]
sheet['A3'].value = [5, 6]
range1.value
[[1.0, 2.0], [3.0, 4.0]]
range2.value
এক্সেল থেকে পাইথন কল করুন
ওপেন সোর্স স্প্রেডশীট লাইব্রেরি Xlwings সফ্টওয়্যার বিকাশকারীদের এক্সেলের মাধ্যমে পাইথনের সাথে যোগাযোগ করতে দেয়। আপনি Xlwings এক্সেল অ্যাড-ইন-এর রান বোতাম ব্যবহার করে বা RunPython VBA funciton ব্যবহার করে আপনার এক্সেলের ভিতরে পাইথন ফানসিটন কল করতে পারেন। এক্সেল অ্যাড-ইন ব্যবহার করার বিষয়ে ভাল জিনিস হল যে আপনার ওয়ার্কবুকগুলিকে ম্যাক্রো-সক্ষম করার প্রয়োজন নেই এবং আপনি এটিকে xlsx হিসাবে সংরক্ষণ করতে পারেন।
মাইক্রোসফ্ট এক্সেলে QR কোড সন্নিবেশ করতে পাইথন স্ক্রিপ্ট ব্যবহার করুন
import tempfile
import segno
import xlwings as xw
# Update this with the name of your workbook
book = xw.Book('qr.xlsx')
sheet = xw.sheets[0]
# Update this with the starting cell of your URLs
start_cell = sheet['A1']
urls = start_cell.options(expand='down', ndim=1).value
# Loop through each URL and generate the QR code
for ix, url in enumerate(urls):
# Generate the QR code
qr = segno.make(url)
with tempfile.TemporaryDirectory() as td:
# Save the QR code as a temporary svg file. If you are on macOS, use pdf
# instead and if you don't have Microsoft 365, you may have to use png
filepath = f'{td}/qr.svg'
qr.save(filepath, scale=5, border=0, finder_dark='#15a43a')
# Insert the QR code to the right of the URL
destination_cell = start_cell.offset(row_offset=ix, column_offset=1)
sheet.pictures.add(filepath,
left=destination_cell.left,
top=destination_cell.top)
পাইথন ব্যবহার করে এক্সেলে ইউজার ডিফাইন্ড ফাংশন (ইউডিএফ)
Xlwings লাইব্রেরি ডেভেলপারদের মাইক্রোসফ্ট এক্সেল ফাইল ফরম্যাটে প্রোগ্রাম্যাটিকভাবে ইউজার ডিফাইন্ড ফানসিটন (UDFs) লেখার ক্ষমতা দেয়। বর্তমানে, UDF শুধুমাত্র উইন্ডোতে উপলব্ধ। API সাধারণ ফানসিটন, অ্যারের মাত্রার সংখ্যা, গতিশীল অ্যারে সূত্র, NumPy সহ অ্যারিয় সূত্র এবং আরও অনেক কিছু ব্যবহার করার অনুমতি দেয়।
মাইক্রোসফ্ট এক্সেলে রানপাইথনের মাধ্যমে কীভাবে ম্যাক্রো কল করবেন
import xlwings as xw
@xw.sub
def my_macro():
"""Writes the name of the Workbook into Range("A1") of Sheet 1"""
wb = xw.Book.caller()
wb.sheets[0].range('A1').value = wb.name