Bu maqolada sizlar bilan python dasturlash tili orqali Excel fayllarni yaratamiz. Buning uchun bizga pythonning openpyxl kutubxonasi kerak bo'ladi.

openpyxl kutubxonasi
openpyxl kutubxonasi

openpyxl kutubxonani o'natish uchun:

>>> pip install openpyxl

Kodlarni ishlatish uchun biror bir python fayl hosil qilib oling.

Birinchi bo'lib Excel fayl(*.xlsx) hosil qilishni o'rganib olamiz.

from openpyxl import Workbook

Kutubxonani chaqirib olamiz.

wb = Workbook()

wb o'zgaruvchisiga Workbook funksiyani tenglaymiz. Workbook orqali biz Excel fayllar hosil qila olamiz.

wb.save(filename='salom.xlsx')

Hechqanday boshqa kodlarsiz save funksiyasi orqali saqlaymiz. filename o'zgaruvchisiga fayl nomi qanday nomda saqlanishini tenglaymiz.

from openpyxl import Workbook
wb = Workbook()
wb.save(filename='salom.xlsx')

Bu kodni ishga tushirganimizdan so'ng salom.xlsx somli Excel fayl hosil bo'ladi. Bu fayldan hechnarsa yozilmagan bo'ladi. Xuddi "New file" qilgandek.

Varoq nomlarini o'zgartirish uchun:

vaqroq nomi
vaqroq nomi

save funksiyasidan oldin:

ws = wb.active
ws.title = "range names"

ws o'zgaruvchini Workbook().active ga tenglaymiz va ws.title ni varoq nomini nima deb nomlamoqchi bo'lsak shu bilan nomlaymiz.

kodni ishga tushiramiz:

vaqroq nomini o'zgartirdik
vaqroq nomini o'zgartirdik

Yacheykalarga qiymat kiritish:

ws['A1'] = 15

sace funksiyasida oldin. ws ya'ni ws nomli birinchi varoqdagi A1 katakchaning qiymatini ko'rsatyapmiz. Agar kodni ishga tushirsangiz:

qiymatini o'zgartirdik
qiymatini o'zgartirdik

ws (varoq) xuddi dict ga o'xshaydi. Kalit so'z orqali ('A1') qiymatini o'zgartiraverasiz ammo listga o'xshatib append funksiyasidan foydalanib qiymat kiritishingiz ham mumkin:

ws.append([51,15,5,65,65,56,65,56,56,56,65])

Bu orqali siz 2-qatorga yuqoridagi sonlarni birinma ketin yacheykalarga joylayapsiz. Nega ikkinchi qator?! Chunki siz birinchi qatorga A1 yacheykaga matn kiritib qo'ydingiz. append funksiyasidan foydalanganimizda ws ga yangi list qo'shdi. 

ws ni sodda tarzda tasavvur qilamiz:

ws = [[15],[[51,15,5,65,65,56,65,56,56,56,65]]

buni biroz boshqacharoq yozamiz:

ws = [[15],
	 [[51,15,5,65,65,56,65,56,56,56,65]]

Excelda ham xuddi shunday holat:

append funksiyadan foydalandik
append funksiyadan foydalandik

Qanday tasavvur qilishni bilib oldingiz degan umiddaman.

Siz pythonning boshqa kutubxonalaridan foydalanishingiz ham mumkin. Masalan:

import datetime
from openpyxl import Workbook
time=datetime.datetime.now()

wb = Workbook()
ws = wb.active
ws.append([time])

wb.save(filename='salom.xlsx')

time nomi o'zgaruvchiga hozirgi vaqtni tengladik va ws varoqga qo'shib 'salom.xlsx' fayl qilib saqlab qo'ydik:

vaqtni yozdik
vaqtni yozdik

 Ingiliz tilida  documentation

Xulosa: Siz boshqa kutubxonalar bilan ishlab ko'ring, Exceldagi barcha imkoniyatlar shu kutubxonada mavjud. Sizlar bilan Bunyodbek Abdurazzoqov bo'ldi. Rahmat hammaga.