データ処理や分析の過程で、ウェブページから情報を取得し、より操作しやすい形式に変換する必要がよくあります。HTMLテーブルは、一般的なデータ表示形式として、オンラインレポートや統計資料などのシーンで広く使用されていますが、その構造化レベルが低く、データのクリーンアップや分析には適していません。HTMLテーブルをExcelワークシートに変換することで、Excelの強力なデータ処理機能を利用して、並べ替え、フィルタリング、計算などが簡単に行えるだけでなく、他者と共有したり、長期的に保存したりすることが可能になります。Pythonを使用すれば、この変換プロセスを効率的に実行し、データ移行を迅速に達成できます。
本記事では、Pythonを使用してHTMLをExcelファイルに変換する方法を紹介します。
本記事で使用する方法では、Spire.XLS for Pythonが必要です。PyPIコマンド: pip install spire.xls
PythonでHTMLをExcelワークシートに変換
Workbook.LoadFromHTML()
メソッドを使用してHTMLファイルを直接読み込み、Workbook.SaveToFile()
メソッドで指定されたExcelファイル形式に保存することができます。以下に詳しい操作手順を示します。
- 必要なモジュールをインポートします。
-
Workbook
オブジェクトを作成します。 -
Workbook.LoadFromHTML()
メソッドを使用してHTMLファイルを読み込みます。 - 単純なHTMLテーブルでは、いくつかのフォーマット情報が不足している場合があるため、変換前に列幅の自動調整などのフォーマット設定を行うことができます。
-
Workbook.SaveToFile()
メソッドを使用してExcelファイルに変換し、保存します。 - リソースを解放します。
コード例
from spire.xls import Workbook
# Workbookのインスタンスを作成
workbook = Workbook()
# HTMLファイルを読み込む
workbook.LoadFromHtml("Sample.html")
# 列の自動調整
for i in range(workbook.Worksheets.Count):
worksheet = workbook.Worksheets.get_Item(i)
for j in range(1, worksheet.Columns.Count + 1):
worksheet.AutoFitColumn(j)
# Excelファイルに変換
workbook.SaveToFile("output/HTMLをExcelに変換.xlsx")
workbook.Dispose()
PythonでHTMLテキストをExcelのセルに書き込む
Workbook.Worksheets.get_Item()
メソッドを使用して指定のワークシートを取得し、Worksheet.Range[]
プロパティを使用して指定のセルまたはセル範囲を取得することができます。その後、CellRange.HtmlString
プロパティを使用してHTMLテキストをセルに挿入し、対応するテキストとフォーマットを表示できます。以下に操作手順の例を示します。
- 必要なモジュールをインポートします。
-
Workbook
オブジェクトを作成します。 -
Workbook.Worksheets.get_Item()
メソッドを使用してワークシートを取得します。 -
Worksheet.Range[]
プロパティを使用してセルを取得します。 - HTMLコードを指定します。
-
CellRange.HtmlString
プロパティを使用してHTMLコードに対応するテキストをセルに挿入します。 -
Workbook.SaveToFile()
メソッドを使用してExcelブックを保存します。 - リソースを解放します。
コード例
from spire.xls import Workbook, FileFormat
# Workbookのインスタンスを作成
workbook = Workbook()
# 最初のワークシートを取得
sheet = workbook.Worksheets.get_Item(0)
# HTML文字列を指定
htmlString = "<span style='font-size: 20px; color: blue;'><strong><u>Employee Data Table</u></strong></span>"
# HTML文字列をワークシートに挿入
sheet.Range[1, 1].HtmlString = htmlString
# 列の幅を自動調整
sheet.AutoFitColumn(1)
# ワークブックを保存
workbook.SaveToFile("output/HTMLテキストをExcelに挿入.xlsx", FileFormat.Version2016)
workbook.Dispose()
この記事では、Pythonを使用してHTMLをExcelファイルに変換する方法を紹介しました。