hands python openpyxl tutorial with examples
Python kitaplığı için eksiksiz kılavuz Openpyxl, kurulumu, yeni bir çalışma sayfasının nasıl oluşturulacağını, çalışma kitabındaki verileri okuma / yazma / silme işlemlerini içerir:
Excel, bilgileri daha iyi düzenlemek, hesaplamalar yapmak, çıktı grafikleri oluşturmak ve çok daha fazlası için kullanılan en popüler elektronik tablo uygulamasıdır. Test dünyasında, uygulamanın çeşitli veri kümeleriyle doğrulanması, yüksek kaliteli bir ürün ve iyi bir test kapsamı elde etmek için çok önemlidir.
Openpyxl, veriye dayalı testleri gerçekleştirmek ve hatta test sonucu raporları vb. Hazırlamak için Excel'i kullanmamıza izin veren böyle bir kitaplıktır.
Bu eğitimde Openpyxl'in ne olduğunu, kurulumunu, yeni bir çalışma kitabı oluşturmayı, elektronik tablodan verileri okumayı ve içine veri yazmayı öğreneceğiz. Aynısını bir web sayfasından nasıl yükleyeceğimizi ve indireceğimizi de öğreneceğiz.
Ne öğreneceksin:
- Openpyxl nedir
- Openpyxl Nasıl Kurulur
- PyCharm IDE'nin Yapılandırması
- Yeni Bir Excel Çalışma Kitabı Oluşturun
- Excel Dosyasına Veri Yaz
- Sayfayı Excel Dosyasında Yeniden Adlandırın
- Excel Dosyasına E-Tablolar Ekleme
- E-Tabloya Birden Fazla Değer Ekleme
- Excel Çalışma Kitabından Bir Sayfayı Silme
- Excel Dosyasından Verileri Okuma
- Dosyadaki Tüm Değerleri Okuma
- Sütun Mektubu Alma
- Veriye Dayalı Test
- Sonuç
Openpyxl nedir
Openpyxl, Excel dosyalarını (xlsx / xlsm / xltx / xltm dosyaları) okumak ve yazmak için kullanılan bir Python kitaplığıdır. Bu modül, Python programlarının elektronik tabloyu okumasına ve değiştirmesine izin verir.
XLSX dosya, Microsoft Excel için varsayılan dosya biçimidir. Office Open XML standardına dayanmaktadır.
XLSM dosyası, Makro özellikli bir elektronik tablo dosyasıdır.
XLTX dosyası, kullanıcı tanımlı ayarları koruyan bir Excel Şablon dosyasıdır.
XLTM dosyası, Microsoft Excel ile oluşturulmuş bir Makro Etkin şablon dosyasıdır.
Openpyxl Nasıl Kurulur
Python'u kurduğunuzda, Openpyxl kitaplıkları varsayılan olarak yüklenmez. Kitaplıkları Python'umuza almak için bir komut çalıştırmalıyız. Bunun için komut istemini açmanız ve dizini Python'unuzun bulunduğu klasörle değiştirmeniz ve aşağıdaki komutu çalıştırmanız gerekir.
pip install openpyxl
Komutu çalıştırdığınızda, kitaplıklar indirilecek ve kurulacaktır. Bu, kullanılarak doğrulanabilir pip listesi komutunu aşağıdaki resimde gösterildiği gibi.
PyCharm IDE'nin Yapılandırması
PyCharm'daki bir proje için Openpyxl kitaplıklarını yapılandırmanın 2 yolu vardır.
# 1) PyCharm'da mevcut paket seçeneklerini kullanma
Tıklamak Dosya-> Yeni Proje. Oluştur'a tıklayın.
Projeniz başarıyla oluşturulacak. Kitaplıkların yapılandırılıp yapılandırılmadığını doğrulamak için şu adrese gidin: Dosya -> Ayarlar . Ayar sayfasında şuraya gidin: Proje -> Proje Tercümanı .
Paketler altında, Openpyxl paketini göreceksiniz. Eksikse, ' + Sağ köşedeki ”düğmesine basın. Mevcut Paketler altında, aşağıdaki resimde gösterildiği gibi Openpyxl ve Hit Install Package'ı arayın. Kurulum tamamlandıktan sonra, 'paket' openpyxl 'başarıyla yüklendi'
Paketin başarıyla yüklenip yüklenmediğini doğrulayın.
# 2) Global site paketlerinden Devral seçeneğini kullanma
Bu yöntem oldukça basittir. Git Dosya-> Yeni Proje . Yeni bir proje oluştururken ' Global site paketlerini devralın 'Onay kutusu. Proje oluşturulduktan sonra şuraya gidin: Dosya -> Ayarlar-> Proje -> Proje yorumlayıcı , Openpyxl paketinin zaten kurulu olduğunu göreceksiniz.
Yeni Bir Excel Çalışma Kitabı Oluşturun
Yeni bir çalışma kitabı oluşturarak başlayacağız. Bir Excel dosyası, en az bir Sayfa içeren Çalışma Kitabı olarak adlandırılır. Bir çalışma kitabı oluşturmak için önce çalışma kitabını aşağıdaki komutu kullanarak Openpyxl kitaplığından içe aktarmamız gerekir:
from openpyxl import Workbook
Bir çalışma kitabı nesnesi oluşturalım. Bu nesneyi okuma, yazma, vb. Yapılması gereken tüm eylemleri işlemek için kullanabiliriz.
wb = Workbook()
Çalışma kitabını oluşturmak istediğiniz dosya yolunu aşağıda gösterildiği gibi ayarlayın:
filepath = :”F:/tutorial/sample.xlsx”
Çalışma kitabını kaydetmek için şunu kullanın
wb.save(filepath)
Bu, belirtilen yolda yeni bir boş Excel dosyası oluşturacaktır.
Python komut dosyalarıyla aynı konumda yeni bir Excel dosyası oluşturmak istiyorsanız, dosya yolunu atlayabilir ve dosya adını doğrudan wb.save komut aşağıda gösterildiği gibi:
from openpyxl import Workbook wb = Workbook() wb.save('demo.xlsx')
Excel Dosyasına Veri Yaz
Artık yeni bir dosyanın nasıl oluşturulacağını bildiğimize göre, devam edip verileri dosyaya girelim. Bunu başarmak için yukarıda oluşturduğumuz çalışma kitabını yüklemeliyiz. Bu, aşağıdaki komut kullanılarak yapılabilir:
wb = load_workbook(“demo.xlsx”)
Verileri hangi Sayfada gireceğimizi belirtmek zorundayız. Sadece bir sayfamız olduğu için, sadece 'aktif' anahtar kelimeyi kullanabiliriz ve bu, verileri girmek için mevcut aktif sayfayı kullanır.
sheet = wb.active
Birden fazla sayfanız varsa, aşağıda verildiği gibi çalışma sayfasının adını belirtmeniz gerekir. SheetName, çalışma kitabındaki sayfanın adıdır.
sheet = wb('SheetName')
Verileri Excel dosyasına girmenin 2 yolu vardır. Bunlar aşağıdaki gibidir:
- Doğrudan sütun dizisi kombinasyonunu kullanın. Misal (A1), burada A sütun ve 1 satırdır.
- Satır ve sütun numaralarını kullanın. Misal satır = 4, sütun = 2
sheet('A1') = 'Software Testing Help' sheet.cell(row=4, column=2).value = 'Openpyxl Tutorial'
Değerleri girdikten sonra dosyayı kaydettiğinizden emin olun.
wb.save('demo.xlsx')
Tam kod:
from openpyxl import load_workbook wb = load_workbook('demo.xlsx') # Sheet is the SheetName where the data has to be entered sheet = wb('Sheet') # Enter into 1st row and Ath column sheet('A1') = 'Software Testing Help' # Similarly you can enter in the below shown fashion sheet.cell(row=2, column=1).value = 'OpenPyxl Tutorial' sheet('B1') = 10 sheet.cell(row=2, column=2).value =13.4 wb.save('demo.xlsx')
Yukarıdaki kod 'Yazılım Test Yardımı', 10 ve 'Openpyxl Eğitimi', 13,4'ü 1 arada yazacaktırstve 2ndaşağıda gösterildiği gibi sırasıyla satır.
Sayfayı Excel Dosyasında Yeniden Adlandırın
Rapor tarihini akıllıca takip ediyorsanız ve sayfa adını geçerli tarihle değiştirmek istiyorsanız. 'Başlık' komutu ile yapılabilir.
Bu senaryo için güncel tarihi almamız gerekiyor. Bu yüzden önce datetime paketini içe aktarmamız gerekiyor.
from datetime import datetime
şimdi () bize güncel tarih ve saati verecek .strftime () yöntem, tarih ve saati temsil eden bir dize döndürür.
now = datetime.now() date_time = now.strftime('%d.%m.%Y')
Sayfanın adını kullanarak değiştirebilirsiniz. sheet.title yöntem. Dosyayı kaydetmeyi unutmayın.
sheet.title = date_time wb.save('demo.xlsx')
Tam kod:
from datetime import datetime from openpyxl import load_workbook #Load the workbook demo.xlsx wb = load_workbook('demo.xlsx') #Select the current active sheet sheet = wb.active now = datetime.now() date_time = now.strftime('%d.%m.%Y') sheet.title = date_time wb.save('demo.xlsx')
Aktif sayfa kullandığımız için, mevcut aktif sayfanın adı değiştirildi.
Excel Dosyasına E-Tablolar Ekleme
Her günün raporunu takip etmek için yukarıdaki örneği göz önünde bulundurarak, her gün için yeni bir pafta oluşturmamız gerekiyor. Excel'e yeni sayfalar eklemek için, create_sheet komut.
Sözdizimi:
create_sheet(title=None, index=None)
Bir çalışma sayfası oluşturun (isteğe bağlı bir dizinde).
Parametreler:
- başlık (str): sayfanın isteğe bağlı başlığı.
- dizin (int): sayfanın ekleneceği isteğe bağlı konum.
Not: Parametreler girilmezse, son sayfadan sonra sayfayı oluşturur ve bunu 'sayfa' olarak adlandırır.
sheetname ='Day2 Result '+now.strftime('%d.%m.%Y') #Add new sheet using the index and title fields wb.create_sheet(index = 1 , title = sheetname)
Tam Kod:
from datetime import datetime from openpyxl import load_workbook wb = load_workbook('demo.xlsx') sheet = wb.active now = datetime.now() date_time = now.strftime('%d.%m.%Y') sheet.title = date_time sheetname ='Day2 Result '+now.strftime('%d.%m.%Y') wb.create_sheet(index = 1 , title = sheetname) wb.save('demo.xlsx')
Sonuç:
E-Tabloya Birden Fazla Değer Ekleme
Mevcut sayfanın altına bir grup değer ekleyebiliriz. Bu şu şekilde başarılabilir: 'Ekle' komut.
Sözdizimi:
append(iterable)
Yinelenebilir olduğunda, bir değerler listesi veya tek bir değerdir.
veritabanı testi mülakat soruları ve cevapları
- Eğer bir liste ise ilk sütundan başlayarak tüm değerler sırayla eklenir.
- Tek bir değer ise, daha sonra değerler tuşlarla (sayılar veya harfler) gösterilen sütunlara atanır.
Aşağıdaki koda bakın:
from openpyxl import load_workbook wb = load_workbook('demo.xlsx') #Mention the sheet where the data can be entered, sheet = wb('Day2 Result 27.07.2020') # Assign multiple values to data data =(('Emp Id', 'Emp Name', 'Designation'), (1, 'XYZ', 'Manager'), (2, 'ABC', 'Consultant')) #Append all rows for i in data: sheet.append(i) wb.save('demo.xlsx')
Sonuç:
Not: Sayfa adlarını kullanarak yazdırabilirsiniz. print ('etkin sayfa başlığı:' + sayfa.başlığı)
Excel Çalışma Kitabından Bir Sayfayı Silme
Openpyxl'de, bir sayfayı silerseniz, kurtarılamayacağı için biraz dikkatli olun. 3 Sayfalık bir Excel sayfası oluşturalım ve bunu 'Sayfa1' 'Sayfa2' 'Sayfa3' olarak adlandıralım ve DeleteSheet.xlsx .
Herhangi birini silmeden önce zaten mevcut olan sayfaları bilmek her zaman daha iyidir. Üstesinden gelebilirsin sayfa adları komut.
O zaman kullanabilirsin wb.remove (sayfa adı) veya del wb (sayfa adı)
Nerede, yüklediğiniz çalışma kitabı wb'dir.
Aşağıdaki koda bakın:
import openpyxl wb = openpyxl.load_workbook('DeleteSheet.xlsx') print('The names of work sheets before deleting') print(wb.sheetnames) sheetDelete = wb('Sheet2') wb.remove(sheetDelete) #Sheet2 will be deleted #del wb(sheetDelete) #Alternatively you can use del cmd print('The names of work sheets after deleting') print(wb.sheetnames) wb.save('DeleteSheet.xlsx')
Sonuç:
Excel Dosyasından Verileri Okuma
Dosyaya veri yazmaya benzer şekilde, verileri bir Excel dosyasından 2 yol kullanarak okuyabiliriz.
Ya doğrudan sütun dizisi kombinasyonunu kullanın . Örnek (A1) veya, satır ve sütun numaralarını kullanın . Örnek satır = 4, sütun = 2.
sheet.cell (). değer komutu, değeri belirtilen hücreden almamıza yardımcı olacaktır.
Aşağıda tam kodu bulun:
from openpyxl import load_workbook wb = load_workbook('demo.xlsx') sheet = wb.active dataAtA1 = sheet('A1') dataAtA2 = sheet.cell(row=2, column=1) print('Data at A1:', dataAtA1.value) print('Data at A2:', dataAtA2.value)
Sonuç:
Dosyadaki Tüm Değerleri Okuma
Genellikle, yazılım testinde, çeşitli veri setleri kullanarak işlevselliği doğrulamamız gerekir. Tüm verilerin bir çalışma kitabına yerleştirildiğini ve tüm verileri kullanarak işlevselliği test etmemiz gerektiğini varsayalım. Bu nedenle, değerleri almak için her satır ve sütundan geçmemiz gerekir. Büyük bir veri kümesi için, yukarıdaki yöntem uygulanabilir değildir. Bunu başarmak için, değerleri almak için tüm sayfayı yinelemeliyiz.
İlk önce sayfadaki satır sayısını ve sütun sayısını almalıyız.
- max_row- Bu, verileri içeren maksimum satır dizinini verir (1 tabanlı)
- max_column - Verileri içeren maksimum sütun dizini (1 tabanlı)
row_count = sheet.max_row column_count = sheet.max_column
Not: max_row ve max_column 1 tabanlı indekslemedir. Son satıra gitmek için count değerine bir tane eklememiz gerekiyor.
Değerleri okumak için Tam kod aşağıdadır:
from openpyxl import load_workbook wb = load_workbook('demo.xlsx') sheet = wb('Day2 Result 27.07.2020') row_count = sheet.max_row column_count = sheet.max_column for i in range(1, row_count + 1): for j in range(1, column_count + 1): data = sheet.cell(row=i, column=j).value print(data, end=' ') print('
')
Not: Değerleri yeni bir satıra yazdırmak için her sütun ile yeni satır ( n) arasında bir boşluk olması için end = ’‘ kullandık.
Sonuç:
Sütun Mektubu Alma
Bir çalışma kitabında depolanan büyük bir veri kümeniz olduğunu ve belirli bir değerin hangi satır dizini ve sütunda olduğunu bilmek istediğinizi varsayalım. Bunu kullanarak bulabilirsin get_column_letter. Bu, bir sütun indeksini bir sütun harfine dönüştürür. Örnek 3 - C.
Aşağıdaki koda bakın:
from openpyxl import load_workbook from openpyxl.utils import get_column_letter wb = load_workbook('demo.xlsx') sheet = wb('Day2 Result 27.07.2020') row_count = sheet.max_row column_count = sheet.max_column for i in range(1, row_count + 1): for j in range(1, column_count + 1): data = sheet.cell(row=i, column=j).value if data=='ABC': column_letter = get_column_letter(j) print('ABC employee name is present in column ', column_letter, 'and in row index ', i )
Sonuç:
Veriye Dayalı Test
Artık Openpyxl'in Excel'den veri okumamıza ve yazmamıza yardımcı olduğunu bildiğimize göre, bu kavramları, uygulamayı elektronik tablodan alınan birden çok farklı değerle test etmek için bir test senaryosu oluşturmak için kullanacağız. Dolayısıyla veriye dayalı testlere ulaşmak.
>> Önerilen Okuma: Veriye Dayalı Test Nasıl Çalışır?
Facebook.com'da oturum açacağımız, çalışma kitabından oturum açma kimlik bilgilerini okuyacağımız, oturum açtıktan sonra sayfanın başlığını doğrulayacağımız ve sonucu aynı çalışma kitabına geri yazacağımız bir senaryo düşünün.
Adım | Aksiyon | Beklenen Sonuç |
---|---|---|
7 | Sayfanın başlığını doğrulayın | Facebook sayfanın başlığı olmalıdır |
1 | Chrome tarayıcısını açın | Chrome tarayıcısı başarıyla başlatılmalıdır |
iki | Www.facebook.com'a gidin | Facebook web sayfası açılmalıdır |
3 | Tarayıcı penceresini büyüt | Tarayıcı penceresi büyütülmeli |
4 | Verileri Excel'den okuyun ve E-posta girin | Girilen E-posta görüntülenmelidir |
5 | Verileri Excel'den okuyun ve şifreyi girin | Girilen şifre görüntülenmelidir |
6 | Giriş'e tıklayın | Uygun sayfa görüntülenmelidir |
8 | Sonucu Excel'e yazın | Çalışma kitabı sonuçla güncellenmelidir |
Çeşitli giriş kimlik bilgileri için yukarıdaki senaryoyu tekrarlayın
Girdi verileriyle Excel Dosyası Oluşturma
Giriş kimlik bilgileri, beklenen başlık, gerçek başlık ve sonuç alanını içeren bir dosya oluşturalım ve şu şekilde kaydedelim: Inputdata.xlsx.
E-posta adresi | Parola | Beklenen Başlık | Gerçek Başlık | Sonuç |
---|---|---|---|---|
yanlışctusrname@example.com | yanlış parola | |||
trueusrname@example.com | yanlış parola | |||
yanlışctusrname@example.com | doğru şifre | |||
trueusrname@example.com | doğru şifre |
Not: Bu, bir örnek göstermek için kullanılan sahte bir dosyadır. Komut dosyası üzerinde çalışırken doğru e-posta ve şifreyi girin.
Test Komut Dosyası Yazma
Yukarıdaki girdi dosyasına baktığımızda 4 farklı kimlik bilgisi için betiği 4 kez tekrarlamamız gerektiğini söyleyebiliriz. Öyleyse fazlalıktan kaçınmak için, Excel dosyasını okumak ve yazmak için işlevler içeren ayrı bir sınıf oluşturalım. Onu ExcelUtils olarak adlandırdık.
ExcelUtils kodu aşağıdadır:
import openpyxl def readData(file,sheetname,rownum,colnum): workbook = openpyxl.load_workbook(file) sheet = workbook(sheetname) inputvalue =sheet.cell(row=rownum, column=colnum).value return inputvalue def writeData(file,sheetname,rownum, colnum,data): workbook = openpyxl.load_workbook(file) sheet = workbook(sheetname) sheet.cell(row=rownum, column=colnum).value= data workbook.save(file)
Şimdi ExcelUtils.py sınıfını ana sınıfınıza aktarın ve okuma ve yazma işlevlerini yeniden kullanabileceğiz.
E-postayı ve şifreyi Excel dosyasından okuyup Facebook'a giriş yapacağız. Oturum açma başarılı olursa, komut dosyası dosyadaki sonucu Başarılı olarak güncelleyecektir. Oturum açma başarısız olursa, komut dosyası sayfanın gerçek başlığını güncelleyecek ve sonucu Başarısız olarak işaretleyecektir.
Not: Selenium kitaplıklarını IDE'nize kurun, kodu bu olmadan çalıştıramazsınız. selenium yüklemek pip komutu Selenium kitaplıklarını kurmak için kullanılır.
Tam Kod aşağıdadır:
from openpyxl import load_workbook from selenium import webdriver from ExcelTest import ExcelUtils driver=webdriver.Chrome (r'C:UsersAdminPycharmProjectsSeleniumTestDriverschromedriver.exe') driver.get('https://www.facebook.com/') driver.maximize_window() file = 'InputData.xlsx' wb = load_workbook(file) sheet=wb.active row_count = sheet.max_row col_count = sheet.max_column for r in range(2,row_count+1): email= ExcelUtils.readData(file, 'Sheet1', r, 1) password = ExcelUtils.readData(file, 'Sheet1', r, 2) driver.find_element_by_id('email').send_keys(email) driver.find_element_by_id('pass').send_keys(password) driver.find_element_by_id('u_0_b').click() time.sleep(6) pagetitle=driver.title print(pagetitle) if pagetitle=='Facebook': ExcelUtils.writeData(file,'Sheet1',r,5,'Passed') else: ExcelUtils.writeData(file,'Sheet1',r,4,pagetitle) ExcelUtils.writeData(file,'Sheet1',r,5,'Failed') driver.find_element_by_xpath ('//*(@id='blueBarDOMInspector')/div/div(1)/div/div/h1/a/i').click()
Sonuç:
E-posta adresi | Parola | Beklenen Başlık | Gerçek Başlık | Sonuç |
---|---|---|---|---|
yanlışctusrname@example.com | yanlış parola | Facebook'ta oturum açın | Facebook | Başarısız oldu | |
trueusrname@example.com | yanlış parola | Facebook'ta oturum açın | Facebook | Başarısız oldu | |
yanlışctusrname@example.com | doğru şifre | Giriş yardımı | Başarısız oldu | |
trueusrname@example.com | doğru şifre | Geçti |
Dosya yükleme
Gerçek zamanlı projeleri otomatikleştirmeye başladığınızda, er ya da geç dosya yüklemeleri gerçekleştireceksiniz. Örneğin, sonuç dosyasını ortak sürücüye yükleme veya bir dosya yükleyerek uygulama testi, vb. Dosya yüklemeyle ilgili sorun, yükle düğmesini tıkladığınızda açılan dosya seç iletişim kutusunun tarayıcıya ait olmamasıdır. Selenium kullanarak kontrol edemezsiniz.
Bunu başarmak için, dosya yolunu doğrudan giriş öğesine iletmemiz gerekir.
elementinput = driver.find_element_by_id('content') elementinput.send_keys(r'C:UsersAdminPycharmProjectsopen1TestInputData.xlsx')
Giriş öğesini seçmeli ve ardından dosyanın yolunu şunu kullanarak ona iletmeliyiz: send_keys yöntem.
(resim kaynak )
Bu örnekte, id ('içerik') giriş alanı web öğesini alıyoruz ve dosya yolunu doğrudan gönderme anahtarlarını kullanarak geçiriyoruz.
Bir Excel dosyası yüklemek için kod aşağıdadır.
from selenium import webdriver driver=webdriver.Chrome(r'C:UsersAdminPycharmProjectsSeleniumTestDriverschromedriver.exe') driver.get('https://sheet.zoho.com/sheet/Excelviewer') driver.maximize_window() elementinput = driver.find_element_by_id('content') elementinput.send_keys(r'C:UsersAdminPycharmProjectsopen1TestInputData.xlsx')
Sonuç:
Dosyayı indir
Selenium'da dosya indirmek oldukça basittir. Dosyanın web öğesini ve indirme düğmesini bulun. Ancak dosyalar genellikle indirme klasörünün altına indirilir.
Dosyaları belirli bir klasöre indirmek istiyorsanız, krom seçeneklerini kullanmanız ve dosyanın indirilmesi gereken klasörün yolunu belirtmeniz gerekecektir.
Aşağıdaki koda bakın:
from selenium import webdriver from selenium.webdriver.chrome.options import Options chromeOptions = Options() chromeOptions.add_experimental_option('prefs',{'download.default_directory':r 'C:UsersAdminPycharmProjectsopen1ExcelTest'}) driver = webdriver.Chrome(executable_path=r'C:UsersAdminPycharmProjectsSelenium TestDriverschromedriver.exe',chrome_options=chromeOptions) driver.get('https://file-examples.com/index.php/sample-documents- download/sample-xls-download/') driver.find_element_by_xpath('//*(@download='file_example_XLSX_10.xlsx')').click()
Bu kod, dosyayı sizin belirlediğiniz yoldan indirecektir.
Sonuç:
Sıkça Sorulan Sorular
S # 1) Openpyxl'i nasıl kurarım?
Cevap: Kitaplıkları Python'umuza almak için bir komut çalıştırmalıyız. Komut istemini açın ve dizini Python çalışma dizinine değiştirin ve aşağıdaki komutu yürütün.
pip install openpyxl
S # 2) Python'u Excel'de kullanabilir miyim?
Cevap: Openpyxl modülü, Python'un bir Excel dosyasından veri okumasına ve aynı zamanda verileri yazmamıza / değiştirmemize / eklememize izin verir.
S # 3) Openpyxl'de bir çalışma kitabını nasıl yüklerim?
Cevap:
#Import load_workbook
openpyxl'den import load_workbook
# Çalışma kitabını yükleyin
wb = load_workbook (çalışma kitabının yolu)
Örnek- wb = load_workbook ('C: \ Users \ demo.xlsx')
S # 4) Openpyxl, XLS ile çalışır mı?
Cevap: Hayır, XLS'yi desteklemiyor. .XLS dosya biçimini kullanmaya çalışırsanız, Python bir istisna atar.
InvalidFileException (msg) yükselt
openpyxl.utils.exceptions.InvalidFileException: openpyxl eski .xls dosya biçimini desteklemiyor, lütfen bu dosyayı okumak için xlrd kullanın veya daha yeni .xlsx dosya biçimine dönüştürün.
Daha fazla öğrenme = >> Python'da Özel Durum İşleme
S # 5) Hangi Openpyxl sürümüne sahip olduğumu nasıl bulabilirim?
Cevap: Komut istemini açın. Dizini Python'unuzun kurulu olduğu klasöre değiştirin, ardından komutu yürütün pip listesi . Bu, sürümleriyle birlikte yüklenen tüm paketleri verecektir.
S # 6) Openpyxl, Excel 2016 ile çalışıyor mu?
Cevap: Evet, xlsx, xlsm, xltx ve xltm dosya formatlarını destekler.
S # 7) Openpyxl'de nasıl yeni bir sayfa oluşturabilirim?
Cevap: Excel'e yeni sayfalar eklemek için şunu kullanın:
create_sheet(title=None, index=None)
Bir çalışma sayfası oluşturun (isteğe bağlı bir dizinde).
Parametreler :
örnekle beyaz kutu testi nedir
- başlık (str) - sayfanın isteğe bağlı başlığı.
- dizin (int) - sayfanın ekleneceği isteğe bağlı konum.
Not: If Parameters girmez, ardından son sayfadan sonra sayfa oluşturur ve bunu 'sayfa' olarak adlandırır
Misal - wb.create_sheet (index = 3, title = 'Day4')
S # 8) Openpyxl'de bir çalışma kitabını nasıl kapatırım?
Yanıt: Workbook_Object.close ()
Bu, açıksa çalışma kitabı dosyasını kapatır. Yalnızca salt okunur ve salt yazılır modları etkiler. Misal - Wb.close ()
Çalışma kitabını kapattığınızda. Çalışma kitabını bir kez daha yükleyene kadar onu tekrar kullanmanıza izin verilmez.
S # 9) Nasıl çözülür - 'openpyxl' hatası adlı modül yok mu?
Cevap: ModuleNotFoundError: Bu modül kurulmadığında openpyxl adlı bir modül hatası oluşmaz.
Aynı makinede hem Python2.x hem de Python3.x sürümleri kuruluysa, Python2.x'e yüklemek için pip ve Python3.x'e yüklemek için pip3'ü kullanın.
Misal -
pip openpyxl yüklemek - Openpyxl modülünü Python2.x'e yükleyin
pip3 openpyxl yükleyin - Openpyxl modülünü Python3.x'e yükleyin
S # 10) Openpyxl kullanılarak zaten var olan bir Excel dosyası nasıl açılır?
Cevap: Zaten bir Excel dosyanız varsa, load_workbook açmak için işlev.
Dosya python geçerli çalışma dizininizde bulunuyorsa, dosya adını bu işleve argüman olarak yazmanız yeterlidir.
Örnek - openpyxl import load_workbook'tan
wb = load_workbook ('myexcelfile.xlsx')
Dosyanız python çalışma dizininizde değilse, çalışma kitabını yüklemek için dosyanın yolunu bir parametre olarak belirtin.
Örnek - openpyxl import load_workbook'tan
wb = load_workbook ('C: \ Kullanıcılar \ myexcelfile.xlsx')
Sonuç
Bu eğiticide, bize Excel ile etkileşim esnekliği sağlayan ve dolayısıyla veriye dayalı testi kolaylaştıran Openpyxl kitaplığı hakkında bilgi edindik.
Aşağıda bu eğitimin özü belirtilmiştir:
- Veri okuma ve veri yazma gibi eylemleri gerçekleştirmek için Excel'i kullanmamıza izin veren bir Python kitaplığıdır.
- Bu Python kitaplığı yalnızca tek bir komutla kurulabilir pip openpyxl yüklemek .
- Bu modül, Kullanılabilir Paketler penceresi kullanılarak PyCharm IDE'ye kolayca kurulabilir.
- Bir çalışma kitabının nasıl oluşturulacağını ve buna nasıl veri yazılacağını gördük.
- Ayrıca, sayfa adlarını yeniden adlandırmamızı, yeni sayfalar oluşturmamızı ve ayrıca sayfaları kaldırmamızı sağlar.
- Tek bir hücre değerini okumak veya tüm çalışma kitabını okumak bu kitaplık kullanılarak yapılabilir.
- Ayrıca, veriye dayalı bir testin nasıl gerçekleştirilebileceğini gösteren örnek bir test komut dosyası gördük.
- Selenyum kullanarak dosyanın yüklenmesi ve indirilmesi de bu eğitimde anlatılmıştır.
Önerilen Kaynaklar
- XML Dosyası Excel, Chrome ve MS Word'de Nasıl Açılır
- Yeni Başlayanlar İçin Python Eğitimi (Uygulamalı ÜCRETSİZ Python Eğitimi)
- VBScript Excel Nesneleriyle Çalışma
- 2021'de En İyi 12 Python IDE'si ve Kod Düzenleyicisi
- Selenium Web Sürücüsünde Excel Sayfasından Veri Nasıl Okunur veya Yazılır
- Python Dosya İşleme Eğitimi: Nasıl Oluşturulur, Açılır, Okunur, Yazılır
- Uygulamalı Örneklerle Python Ana İşlev Eğitimi
- Uygulamalı Örneklerle Python Tuple Eğitimi