首頁 >後端開發 >Python教學 >如何使用 Python 將資料寫入 Excel 電子表格:Openpyxl 與 Pandas?

如何使用 Python 將資料寫入 Excel 電子表格:Openpyxl 與 Pandas?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-28 00:38:17888瀏覽

如何使用 Python 將資料寫入 Excel 電子表格

許多開發人員都遇到需要將資料從程式匯出到 Excel 電子表格的情況。本指南將探索 Python 中用於完成此任務的不同方法和套件。

選擇方法

選擇方法時,請考慮項目的特定要求。需要記住的因素包括目標電腦上 Office 的可用性以及資料的長度和結構。

使用 Openpyxl

Openpyxl 是一個流行的 Python 軟體包,用於讀取和寫入 Excel 電子表格。它提供了對單元格格式和樣式的靈活性和深入控制。但是,請記住,Openpyxl 要求在目標系統上安裝 Office,這可能並不總是可行。

利用 Pandas

對於未安裝 Office 或未安裝 Office 的情況資料很複雜,Pandas 成為一個很好的選擇。 Pandas 允許您以通用資料結構操作和表示資料。透過將資料轉換為 DataFrame 並利用 to_excel 方法,您可以輕鬆地將其儲存到 Excel 檔案中。

範例用例

考慮一個場景,其中您有兩個值清單和三個值清單字串變數。您需要建立一個具有特定版面的Excel 文件,如下圖所示:

How to Write Data to Excel Spreadsheets Using Python: Openpyxl vs. Pandas?

使用Openpyxl,您可以如下建立此版面:

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")

或者,使用Pandas:

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)

格式化單元格

要將特定單元格格式化為科學或精確數字,您可以利用Pandas 中的樣式方法:

df['dominance'] = df['dominance'].apply(lambda x: "%.10f" % x)
df.to_excel("output.xlsx", index=False)

這將在將值格式化為科學的同時保留值的完整精度符號。

以上是如何使用 Python 將資料寫入 Excel 電子表格:Openpyxl 與 Pandas?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn