Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menulis Data ke Hamparan Excel Menggunakan Python: Openpyxl vs. Panda?
Ramai pembangun menghadapi keperluan untuk mengeksport data daripada program mereka ke hamparan Excel. Panduan ini akan meneroka kaedah dan pakej berbeza yang tersedia dalam Python untuk melaksanakan tugas ini.
Apabila memilih pendekatan, pertimbangkan keperluan khusus projek anda. Faktor yang perlu diingat termasuk ketersediaan Office pada komputer sasaran dan panjang serta struktur data anda.
Openpyxl ialah pakej Python yang popular untuk membaca dan menulis ke hamparan Excel. Ia menawarkan fleksibiliti dan kawalan mendalam ke atas pemformatan dan penggayaan sel. Walau bagaimanapun, perlu diingat bahawa Openpyxl memerlukan Office dipasang pada sistem sasaran, yang mungkin tidak selalu dapat dilaksanakan.
Untuk kes di mana anda tidak memasang Office atau anda data adalah kompleks, Pandas muncul sebagai pilihan yang sangat baik. Panda membolehkan anda memanipulasi dan mewakili data dalam struktur data serba boleh. Dengan menukar data anda kepada DataFrame dan menggunakan kaedah to_excel, anda boleh menyimpannya dengan mudah ke fail Excel.
Pertimbangkan senario di mana anda mempunyai dua senarai nilai dan tiga pembolehubah rentetan. Anda perlu mencipta fail Excel dengan susun atur tertentu, seperti yang digambarkan dalam imej di bawah:
Menggunakan Openpyxl, anda boleh mencipta reka letak ini seperti berikut:
import openpyxl data = { "Display": [1, 2, 3], "Dominance": [2.34, 4.346, 4.234], "Test": [2.3, 3.2, 1.7] } workbook = openpyxl.Workbook() sheet = workbook.active # Set column widths sheet.column_dimensions["A"].width = 10 sheet.column_dimensions["B"].width = 15 # Insert headings sheet["A1"] = "Category" sheet["B1"] = "Values" # Iterate over keys and values for key, values in data.items(): sheet[f"A{sheet.max_row + 1}"] = key for i, value in enumerate(values, 2): sheet[f"B{sheet.max_row + i}"] = value workbook.save("output.xlsx")
Sebagai alternatif, menggunakan Panda:
import pandas as pd data = { "display": [1, 2, 3], "dominance": [2.34, 4.346, 4.234], "test": [2.3, 3.2, 1.7] } df = pd.DataFrame(data) df.to_excel("output.xlsx", index=False)
Untuk memformat sel tertentu sebagai saintifik atau nombor dengan ketepatan, anda boleh menggunakan kaedah gaya dalam Panda:
df['dominance'] = df['dominance'].apply(lambda x: "%.10f" % x) df.to_excel("output.xlsx", index=False)
Ini akan mengekalkan ketepatan penuh nilai anda sambil memformatkannya sebagai saintifik tatatanda.
Atas ialah kandungan terperinci Bagaimana untuk Menulis Data ke Hamparan Excel Menggunakan Python: Openpyxl vs. Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!