チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»Python»Spire.XLS for Python»文書操作»Python:Excel ファイルの作成・読み取り・更新方法
2025-04-18

Python:Excel ファイルの作成・読み取り・更新方法

Excel スプレッドシートは、データの整理、分析、表形式での表示に広く利用されています。プログラムから Excel ファイルを操作できるようになると、自動化や他のアプリケーションとの連携が可能になり、大変便利です。特に、新しい Excel ファイルを作成したり、既存のファイルから情報を取得したり、必要に応じてデータを更新・変更する方法を理解しておくと役立ちます。

本記事では、Spire.XLS for Python ライブラリを使用して、Python で Excel ドキュメントを作成・読み取り・更新する方法を紹介します。

Spire.XLS for Python のインストール

この操作には、Spire.XLS for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.XLS for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。

pip install Spire.XLS

Python で Excel ドキュメントを作成する

Spire.XLS for Python は、Excel ドキュメントを作成・編集するためのさまざまなクラスやインターフェースを提供しています。以下は、この記事で使用する主なクラス、プロパティ、およびメソッドの一覧です。

メンバー 説明
Workbook クラス Excel ブック(ファイル全体)を表します。
Workbook.Worksheets.Add() メソッド 新しいワークシートをブックに追加します。
Workbook.SaveToFile() メソッド ワークブックを Excel ファイルとして保存します。
Worksheet クラス ワークブック内のワークシートを表します。
Worksheet.Range プロパティ ワークシート内の特定のセルまたはセル範囲を取得します。
Worksheet.Range.Text プロパティ セルの文字列データを取得または設定します。
Worksheet.Rows プロパティ ワークシート内のすべての行を取得します。
CellRange クラス セルまたはセル範囲を表します。

以下は、Spire.XLS for Python を使用してゼロから Excel ドキュメントを作成する手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.Worksheets.Add() メソッドでワークシートを追加します。
  • Worksheet.Range.Text プロパティを使って特定のセルにデータを書き込みます。
  • Workbook.SaveToFile() メソッドを使って、Excel ファイルとして保存します。
  • Python
from spire.xls import Workbook, HorizontalAlignType, VerticalAlignType, LineStyleType, ExcelColors, FileFormat

# Workbook オブジェクトを作成します
wb = Workbook()

# 既定のワークシートを削除します
wb.Worksheets.Clear()

# ワークシートを追加し、「社員」と名前を付けます
sheet = wb.Worksheets.Add("社員")

# A1 から G1 のセルを結合します
sheet.Range["A1:G1"].Merge()

# A1 にデータを書き込み、書式を設定します
sheet.Range["A1"].Text = "寰宇自動車会社の社員基本情報"
sheet.Range["A1"].HorizontalAlignment = HorizontalAlignType.Center
sheet.Range["A1"].VerticalAlignment = VerticalAlignType.Center
sheet.Range["A1"].Style.Font.IsBold = True
sheet.Range["A1"].Style.Font.Size = 13

# 1行目の行の高さを設定します
sheet.Rows[0].RowHeight = 30

# 特定のセルにデータを書き込みます
sheet.Range["A2"].Text = "氏名"
sheet.Range["B2"].Text = "性別"
sheet.Range["C2"].Text = "生年月日"
sheet.Range["D2"].Text = "学歴"
sheet.Range["E2"].Text = "連絡先"
sheet.Range["F2"].Text = "職位"
sheet.Range["G2"].Text = "社員ID"

sheet.Range["A3"].Text = "健太"
sheet.Range["B3"].Text = "男性"
sheet.Range["C3"].Text = "1990-02-10"
sheet.Range["D3"].Text = "学士"
sheet.Range["E3"].Text = "24756854"
sheet.Range["F3"].Text = "整備士"
sheet.Range["G3"].Text = "0021"

sheet.Range["A4"].Text = "翔太"
sheet.Range["B4"].Text = "男性"
sheet.Range["C4"].Text = "1985-06-08"
sheet.Range["D4"].Text = "修士"
sheet.Range["E4"].Text = "59863247"
sheet.Range["F4"].Text = "整備士"
sheet.Range["G4"].Text = "0022"

sheet.Range["A5"].Text = "彩香"
sheet.Range["B5"].Text = "女性"
sheet.Range["C5"].Text = "1989-11-25"
sheet.Range["D5"].Text = "学士"
sheet.Range["E5"].Text = "79540352"
sheet.Range["F5"].Text = "営業"
sheet.Range["G5"].Text = "0023"

sheet.Range["A6"].Text = "大輔"
sheet.Range["B6"].Text = "男性"
sheet.Range["C6"].Text = "1988-04-16"
sheet.Range["D6"].Text = "修士"
sheet.Range["E6"].Text = "52014060"
sheet.Range["F6"].Text = "整備士"
sheet.Range["G6"].Text = "0024"

sheet.Range["A7"].Text = "美咲"
sheet.Range["B7"].Text = "女性"
sheet.Range["C7"].Text = "1998-01-21"
sheet.Range["D7"].Text = "学士"
sheet.Range["E7"].Text = "35401489"
sheet.Range["F7"].Text = "人事"
sheet.Range["G7"].Text = "0025"

# 指定範囲の行の高さを設定します
sheet.Range["A2:G7"].RowHeight = 15

# 列幅を設定します
sheet.SetColumnWidth(3, 15)
sheet.SetColumnWidth(4, 21)
sheet.SetColumnWidth(5, 15)

# 指定範囲の罫線スタイルを設定します
sheet.Range["A2:G7"].BorderAround(LineStyleType.Medium)
sheet.Range["A2:G7"].BorderInside(LineStyleType.Thin)
sheet.Range["A2:G2"].BorderAround(LineStyleType.Medium)
sheet.Range["A2:G7"].Borders.KnownColor = ExcelColors.Black

# 使用するすべてのセルにフォント名を設定する
sheet.Range.Style.Font.FontName = "Yu Gothic UI"

# .xlsx ファイルとして保存します
wb.SaveToFile("output/Excelファイルの作成.xlsx", FileFormat.Version2016)
wb.Dispose()

PythonでExcelファイルを作成してデータを書き込む

Python で Excel ワークシートからデータを読み取る

Worksheet.Range.Value プロパティを使用すると、セルの数値または文字列の値を文字列として取得できます。ワークシート全体やセル範囲からデータを取得するには、セルをループ処理することで可能です。

以下は、Spire.XLS for Python を使用してワークシートからデータを取得する手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドで Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティで特定のワークシートを取得します。
  • Worksheet.AllocatedRange プロパティで、データが含まれているセル範囲を取得します。
  • 行と列をループ処理して各セルにアクセスし、CellRange.Value プロパティで値を取得します。
  • Python
from spire.xls import Workbook

# Workbook オブジェクトを作成します
wb = Workbook()

# 既存の Excel ファイルを読み込みます
wb.LoadFromFile("output/Excelファイルの作成.xlsx")

# 最初のワークシートを取得します
sheet = wb.Worksheets[0]

# データが入力されているセル範囲を取得します
locatedRange = sheet.AllocatedRange

# 行を繰り返し処理します
for i in range(len(sheet.Rows)):

    # 列を繰り返し処理します
    for j in range(len(locatedRange.Rows[i].Columns)):

        # 特定のセルのデータを取得して出力します
        print(locatedRange[i + 1, j + 1].Value + "  ", end='')

    print("")

PythonコードでExcelファイルからデータを読み取る

Python で Excel ドキュメントを更新する

特定のセルの値を変更するには、Worksheet.Range.Value プロパティを使って新しい値を代入するだけで構いません。以下は、その手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドで Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティで編集したいワークシートを取得します。
  • Worksheet.Range.Value プロパティを使って、特定のセルの値を変更します。
  • Workbook.SaveToFile() メソッドを使用して、変更後の Excel ファイルを保存します。
  • Python
from spire.xls import Workbook, ExcelVersion

# Workbook オブジェクトを作成します
wb = Workbook()

# 既存の Excel ファイルを読み込みます
wb.LoadFromFile("output/Excelファイルの作成.xlsx")

# 最初のワークシートを取得します
sheet = wb.Worksheets[0]

# 特定のセルの値を変更します
sheet.Range["A1"].Value = "更新済みの値"

# ファイルとして保存します
wb.SaveToFile("output/Excelファイルの更新.xlsx", ExcelVersion.Version2016)
wb.Dispose()

Pythonを使ったExcelファイルのセル値の更新

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 26 times