0
0

PythonでExcelセルの表示形式(数値フォーマット)を設定する

Posted at

Excelは強力なデータ処理および分析ツールであり、大量のデータを保存できるだけでなく、複雑なデータ処理や可視化機能もサポートしています。Excelシートのデータを適切に表示する方法は、Excelファイル作成の重要な要素の一つです。これには、Excelセルの数値フォーマットの設定が含まれます。数値フォーマットは、データの美学的な表示(通貨、日付、パーセンテージなどの形式)だけでなく、データの読みやすさと正確性にも直接影響します。Python言語を使用することで、柔軟に Excelセルの数値フォーマット(表示形式) を設定し、データの一貫性と専門的な標準を保証できます。本記事では、Pythonを使用してExcelシートのセルの数値フォーマットを設定する方法を紹介します。

ここで使用する方法は、Spire.XLS for Pythonを必要とします。PyPI:pip install Spire.XLS

無料ライセンスを申請する

フォーマットコードを使用してExcelセルの数値フォーマットを設定する

Excelのセルの数値表示フォーマットは、フォーマットコードによって設定できます。これらのコードは、一連のシンボルによって、数値データ、時間と日付データ、および通貨データなどの表示方法を決定します。以下は一般的なフォーマットコードのシンボルです:

  • #:数値プレースホルダーで、ゼロ以外の数字のみを表示します。
  • 0:数値プレースホルダーで、数字がゼロでも少なくとも一つの位置を占めます。
  • ;(セミコロン):正の数、負の数、およびゼロのフォーマットを区切るために使用します。
  • /(スラッシュ):日付フォーマットで年、月、日を区切るために使用します。
  • $:通貨記号で、システムの地域設定に応じて通貨の値を表示します。
  • ()(括弧):負の数のフォーマットで、負の数を括弧内に表示します。
  • [](角括弧):条件付きフォーマット設定に使用します。例:[Red]は色の設定、[<=100]"Low";[>100]"High"は条件式。

ライブラリには、CellRange.NumberValueを使用してセルにデータを追加し、CellRange.NumberFormatを使用してフォーマットコードでセルデータの数値表示フォーマットを設定する機能が提供されています。以下は、Pythonを使用してExcelセルの数値フォーマットを設定する操作手順です:

  1. 必要なモジュールをインポートする。
  2. Workbookインスタンスを作成し、Excelブックを作成する。
  3. Workbook.Worksheets.Clear()メソッドを使用してデフォルトのワークブックをクリアし、Workbook.Worksheets.Add()メソッドを使用して新しいワークシートを作成する。
  4. Worksheet.Range[].Textプロパティを使用してヘッダーテキストを設定する。
  5. Worksheet.Range[].NumberValueプロパティを使用してセルデータを設定し、Worksheet.Range[].NumberFormatを使用してフォーマットコードでセルの数値フォーマットを設定する。
  6. CellRange.Style.Fontプロパティ下のプロパティを使用してフォントフォーマットを設定し、CellRange.AutoFitRows()およびCellRange.AutoFitColumns()メソッドを使用して行高と列幅を自動調整する。
  7. Workbook.SaveToFile()メソッドを使用してワークブックを保存する。
  8. リソースを解放する。

コード例

from spire.xls import *
from spire.xls.common import *

# Workbookインスタンスを作成
workbook = Workbook()

# デフォルトのワークシートをクリアして新しいワークシートを作成
workbook.Worksheets.Clear()
sheet = workbook.Worksheets.Add("数字フォーマット")

# タイトル行を設定
sheet.Range["B9"].Text = "数字フォーマット"
sheet.Range["C9"].Text = "数値"
sheet.Range["D9"].Text = "表示"

# カンマ区切りと小数点以下二桁の数値を設定
sheet.Range["B10"].Text = "カンマ区切りと小数点以下二桁の数値"
sheet.Range["C10"].Text = "-1234123.5678"
sheet.Range["D10"].NumberValue = -1234123.5678
sheet.Range["D10"].NumberFormat = "#,##0.00"

# 赤色の数値を設定
sheet.Range["B11"].Text = "赤色の数値"
sheet.Range["C11"].Text = "12345.12345"
sheet.Range["D11"].NumberValue = 12345.12345
sheet.Range["D11"].NumberFormat = "[Red]###0.00"

# 小数点以下二桁のパーセンテージを設定
sheet.Range["B12"].Text = "小数点以下二桁のパーセンテージ"
sheet.Range["C12"].Text = "0.12345"
sheet.Range["D12"].NumberValue = 0.12345
sheet.Range["D12"].NumberFormat = "0.00%"

# 括弧付きの数値を設定
sheet.Range["B13"].Text = "括弧付きの数値"
sheet.Range["C13"].Text = "-1234.5678"
sheet.Range["D13"].NumberValue = -1234.5678
sheet.Range["D13"].NumberFormat = "(###0.00;(###0.00))"

# 日付を設定
sheet.Range["B14"].Text = "日付"
sheet.Range["C14"].Text = "36526"
sheet.Range["D14"].NumberValue = 36526
sheet.Range["D14"].NumberFormat = "yyyy/m/d"

# 24時間制の時間を設定
sheet.Range["B15"].Text = "24時間制の時間"
sheet.Range["C15"].Text = "0.6"
sheet.Range["D15"].NumberValue = 0.6
sheet.Range["D15"].NumberFormat = "H:MM:SS"

# 日本語形式の通貨を設定
sheet.Range["B16"].Text = "日本語形式の通貨"
sheet.Range["C16"].Text = "1234.56"
sheet.Range["D16"].NumberValue = 1234.56
sheet.Range["D16"].NumberFormat = "¥#,##0.00"

# 科学的記数法を設定
sheet.Range["B17"].Text = "科学的記数法"
sheet.Range["C17"].Text = "1234.5678"
sheet.Range["D17"].NumberValue = 1234.5678
sheet.Range["D17"].NumberFormat = "0.00E+00"

# 日付と12時間制の時間を設定
sheet.Range["B18"].Text = "日付と12時間制の時間"
sheet.Range["C18"].Text = "36526"
sheet.Range["D18"].NumberValue = 36526
sheet.Range["D18"].NumberFormat = "yyyy/m/d h:mm:ss 午前/午後"

# テキスト付きの数値を設定
sheet.Range["B19"].Text = "テキスト付きの数値"
sheet.Range["C19"].Text = "1234.5678"
sheet.Range["D19"].NumberValue = 1234.5678
sheet.Range["D19"].NumberFormat = "\"JPY \"###0.00"

# フォント、フォントサイズを設定し、行列を自動調整
sheet.AllocatedRange.Style.Font.FontName = "Yu Gothic Medium"
sheet.AllocatedRange.Style.Font.Size = 13
sheet.AllocatedRange.AutoFitRows()
sheet.AllocatedRange.AutoFitColumns()

# ファイルを保存
workbook.SaveToFile("output/Excelセルの表示形式.xlsx", FileFormat.Version2016)
workbook.Dispose()

保存されたワークブック
PythonでExcelのセルの表示形式を設定

本記事では、Pythonを使用してExcelシートのセルの数値フォーマットを設定する方法を紹介しました。

より多くのExcelファイル処理のヒントについては、Spire.XLS for Pythonのチュートリアルをご覧ください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0