ホームページ >バックエンド開発 >Python チュートリアル >Python を使用して Excel スプレッドシートにデータを書き込む方法: Openpyxl と Pandas?

Python を使用して Excel スプレッドシートにデータを書き込む方法: Openpyxl と Pandas?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-28 00:38:17870ブラウズ

Python を使用して Excel スプレッドシートにデータを書き込む方法

多くの開発者は、プログラムから Excel スプレッドシートにデータをエクスポートする必要性に遭遇します。このガイドでは、このタスクを実行するために Python で利用できるさまざまなメソッドとパッケージについて説明します。

アプローチの選択

アプローチを選択するときは、プロジェクトの特定の要件を考慮してください。留意すべき要素には、ターゲット コンピューターでの Office の可用性、データの長さと構造が含まれます。

Openpyxl の使用

Openpyxl は、Excel スプレッドシートの読み取りと書き込みに使用される人気のある Python パッケージです。セルの書式設定とスタイルを柔軟に制御できます。ただし、Openpyxl ではターゲット システムに Office がインストールされている必要があり、常に実行可能であるとは限らないことに注意してください。

Pandas の使用

Office がインストールされていない場合や、データが複雑な場合、Pandas が優れた選択肢として浮上します。 Pandas を使用すると、多様なデータ構造でデータを操作および表現できます。データを DataFrame に変換し、to_excel メソッドを利用することで、Excel ファイルに簡単に保存できます。

使用例の例

2 つの値のリストと 3 つの値のリストがあるシナリオを考えてみましょう。文字列変数。以下の図に示すように、特定のレイアウトを持つ 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。