CodeGym /Kurslar /Python SELF AZ /pandas kitabxanasından istifadə edərək məlumatları Excel-...

pandas kitabxanasından istifadə edərək məlumatları Excel-fayla yazmaq

Python SELF AZ
Səviyyə , Dərs
Mövcuddur

Salam, kodçu dostlar! Ümid edirəm, hər şey yaxşıdır, əgər yoxsa, ümid edirəm ki, bu mühazirə gününüzü bir az daha yaxşı edəcək. Bu gün biz pandas adlı şirin və dost kitabxanası ilə məlumatları Excel-fayla yazmağı öyrənəcəyik. Bəli, hamımızın haqqında eşitdiyi o kitabxana. Bu mühazirə hər şeyi və hər yeri avtomatlaşdırmaq yolunda vacib bir addımdır: hesabat yazmaqdan tutmuş ev mühasibatına qədər. Əgər bir gün ofis cədvəllərini avtomatlaşdırmaq üzrə bir ustad olmaq xəyalınız olubsa (kim olmayıb ki?), onda siz doğru yoldasınız.

1. pandas ilə məlumatları Excel-ə yazmaq üçün əsaslar

Beləliklə, təsəvvür edək ki, bizdə rəqəmlər və mətnlərlə dolu bir DataFrame var və biz bu gözəlliyi Excel faylına çevirmək istəyirik. Bunu pandas ilə necə edəcəyik? Çox sadə! pandas-da buna kömək edəcək möhtəşəm bir metod var – to_excel. O, məlumatların saxlanması ilə bağlı bütün problemlərimizi həll edir.

Bu necə işləyir?

DataFrame-ni Excel faylına yazmaq üçün to_excel metodunu istifadə edirik. Bu funksiya bizə fayl adını təyin etməyə, habelə, məsələn, məlumatları hansı səhifəyə yazacağımızı təyin etməyə imkan verir. Kiçik bir nümunəyə baxaq:

Python

import pandas as pd

# Kiçik bir DataFrame yaradaq
data = {
    'Meyvələr': ['Alma', 'Banan', 'Albalı'],
    'Miqdar': [10, 5, 2]
}
df = pd.DataFrame(data)

# DataFrame-i Excel faylına yazırıq
df.to_excel('fruits.xlsx', sheet_name='Sevimli meyvələr', index=False)

print("Məlumatlar uğurla 'fruits.xlsx' faylına yazıldı")
    

Parametrlər haqqında bir az daha

  • Fayl adı: Biz 'fruits.xlsx' qeyd etdik. '.xlsx' genişlənməsini əlavə etməyi unutmayın, əks halda siz bir fayl əldə edəcəksiniz ki, Excel onu tanımayacaq.
  • sheet_name: Burada biz 'Sevimli meyvələr' qeyd etdik. Bu, məlumatların yazılacağı cədvəl səhifəsinin adıdır.
  • index: Pandas standart olaraq DataFrame-in indekslərini birinci sütun kimi yazır. index=False qeyd edərək, biz bundan uzaqlaşdıq.

2. Bir neçə səhifə ilə işləmək

Bir Excel faylında bir neçə səhifəyə məlumatları yazmağa nə deyərsiniz? Axı nə qədər çox məlumat, o qədər əyləncəli! Aşağıda bunun necə edildiyinə dair bir nümunə var.

Biz pandas.ExcelWriter-dən istifadə edəcəyik ki, bu da bizə faylla daha çevik işləməyə imkan verir.

Python

# İki DataFrame yaratmaq
data1 = {'Meyvələr': ['Alma', 'Portağal'], 'Miqdar': [5, 7]}
data2 = {'Tərəvəzlər': ['Yerkökü', 'Kələm'], 'Miqdar': [3, 4]}

df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

# Bir neçə səhifəli Excel faylı yaratmaq
with pd.ExcelWriter('produce.xlsx') as writer:
    df1.to_excel(writer, sheet_name='Meyvələr', index=False)
    df2.to_excel(writer, sheet_name='Tərəvəzlər', index=False)

print("Məlumatlar uğurla 'produce.xlsx' faylının müxtəlif səhifələrinə yazıldı.")
    

Bu niyə lazım ola bilər?

Bir neçə səhifə ilə işləmək, məlumatlar müxtəlif kateqoriyalara loqik olaraq bölündükdə faydalıdır, məsələn, müxtəlif ayların hesabatları, fərqli məhsul növləri və s. Excel universal konteynerə çevrilir, bütün məlumatları bir faylda, amma səhifələrə bölünmüş şəkildə saxlamağa imkan verir.

3. Praktik tapşırıq

İndi bir az çətinlik vaxtıdır. Siz kitab mağazasındakı satışı əks etdirən yeni bir Excel faylı yaradacaqsınız. İki hesabat olacaq: biri yanvar üçün kitab satışı, digəri isə fevral üçün. Başlamağınızı asanlaşdırmaq üçün kiçik bir məlumat:

  • Yanvar: kitab "Hamı üçün Python" (satış: 50), "JavaScript sirləri" (satış: 30).
  • Fevral: kitab "Hamı üçün Python" (satış: 70), "JavaScript sirləri" (satış: 40).

Bunu özünüz etməyə çalışın, lazım olarsa aşağıdakı nümunəyə diqqət yetirin.

Python

# Məsələnin həllinə nümunə

# Yanvar üçün məlumatlar
january_data = {'Kitab': ['Hamı üçün Python', 'JavaScript sirləri'], 'Satış': [50, 30]}
january_df = pd.DataFrame(january_data)

# Fevral üçün məlumatlar
february_data = {'Kitab': ['Hamı üçün Python', 'JavaScript sirləri'], 'Satış': [70, 40]}
february_df = pd.DataFrame(february_data)

# İki ayın məlumatlarını əks etdirən Excel faylının yaradılması
with pd.ExcelWriter('book_sales.xlsx') as writer:
    january_df.to_excel(writer, sheet_name='Yanvar', index=False)
    february_df.to_excel(writer, sheet_name='Fevral', index=False)

print("Məlumatlar 'book_sales.xlsx' faylına uğurla yazıldı.")
    

book_sales.xlsx faylını yoxlayın, açın və yaradılan hesabatlara baxın!

4. Həllərin müzakirəsi və optimizasiya

Yəqin ki, görmüşsünüz, pandas ilə Excel-ə məlumat yazmaq prosesi olduqca sadədir. Amma diqqət yetirməli olduğunuz bəzi məqamlar var:

  • Yaddaş istifadəsinin optimizasiyası: Əgər böyük DataFrame-ləriniz varsa, məlumatları hissələrə bölməyi və ardıcıl olaraq yazmağı düşünün.
  • Formatlama: Məsələn, cədvəl başlıqları üçün üslublar əlavə etmək olar. Bu, əlavə openpyxl kitabxanasından və onun metodlarından istifadə etməyi tələb edir.
  • Çoxsaylı yazılar: Əgər tez-tez eyni fayla məlumat yazmağı planlaşdırırsınızsa, mövcud məlumatlara yenilərini əlavə etmək üçün mode='a' seçimini ExcelWriter-də istifadə etməyi nəzərdən keçirin.

Gələcək işinizi yaxşılaşdırmaq üçün bir neçə həll nümunəsi

Gələcəkdə avtomatlaşdırma kralı (hmm... yoxsa kraliçası?) olduqda, problemləri tapıb həll etmək qabiliyyətiniz olmalıdır. Məsələn, şirkətiniz hər ayın hər günü üçün hesabat toplamağa qərar versə, bu prosesi avtomatlaşdırmaq üçün pandasExcelWriter-dən istifadə edə bilərsiniz. Mümkündür ki, siz çıxış və bayram günlərini avtomatlaşdırılmış şəkildə yoxlamağı düşünəsiniz ki, bu günlərdə qeydlər aparılmasın.

Odur ki, eksperimentlər etməkdən və işinizi optimallaşdırmaqdan çəkinməyin! Python və pandas ilə bu işlərdə sizə kömək edəcək.

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION