ホームページ >バックエンド開発 >Python チュートリアル >Python を使用して Excel スプレッドシートにデータを書き込む方法: Openpyxl と Pandas?
多くの開発者は、プログラムから Excel スプレッドシートにデータをエクスポートする必要性に遭遇します。このガイドでは、このタスクを実行するために Python で利用できるさまざまなメソッドとパッケージについて説明します。
アプローチを選択するときは、プロジェクトの特定の要件を考慮してください。留意すべき要素には、ターゲット コンピューターでの Office の可用性、データの長さと構造が含まれます。
Openpyxl は、Excel スプレッドシートの読み取りと書き込みに使用される人気のある Python パッケージです。セルの書式設定とスタイルを柔軟に制御できます。ただし、Openpyxl ではターゲット システムに Office がインストールされている必要があり、常に実行可能であるとは限らないことに注意してください。
Office がインストールされていない場合や、データが複雑な場合、Pandas が優れた選択肢として浮上します。 Pandas を使用すると、多様なデータ構造でデータを操作および表現できます。データを DataFrame に変換し、to_excel メソッドを利用することで、Excel ファイルに簡単に保存できます。
2 つの値のリストと 3 つの値のリストがあるシナリオを考えてみましょう。文字列変数。以下の図に示すように、特定のレイアウトを持つ Excel ファイルを作成する必要があります:
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 サイトの他の関連記事を参照してください。