はじめに
Excelは強力なデータ処理とグラフ作成機能を備えた表計算ファイルであり、TXTはシンプルで汎用性が高く、編集が容易なプレーンテキストファイルです。ExcelをTXTに変換することで、複雑なデータテーブルをテキストとして保存することができ、他のプログラムの読み取りや処理操作が容易になります。一方、TXTをExcelに変換すると、テキストファイルのデータをExcelにインポートして、さらに分析や処理を行うことができます。
この記事では、Pythonと関連ライブラリを使用してExcelとTXT形式の変換を実装する方法を紹介します。
ExcelとTXT間の変換のためのPythonライブラリ
以下のガイドでは、サードパーティのライブラリSpire.XLS for Pythonを使用しています。これはXLSやXLSXファイルを処理、読み込み、変換するための強力なPython Excelライブラリです。インストールするには、次のpipコマンドを使用します:
pip install Spire.XLS
Python Excelライブラリのインストール方法の詳細については、こちらをご覧ください:
PythonでExcelをテキスト(TXT)に変換する
ExcelワークシートをTXTファイルに変換する主なメソッドは、Worksheet.SaveToFile(fileName: str, separator: str, encoding: Encoding)
メソッドです。希望の出力ファイル名、セパレータ(カンマ、タブ、セミコロンなど)、エンコード形式(UTF-8、Unicode、ASCIIなど)を指定できます。
以下は、ExcelのXLSまたはXLSXファイルをTXTファイルに変換するPythonのサンプルコードです:
from spire.xls import *
from spire.xls.common import *
# Workbookインスタンスの作成
workbook = Workbook()
# Excelファイルを読み込む
workbook.LoadFromFile("sample.xlsx")
# 最初のワークシートを取得する
sheet = workbook.Worksheets[0]
# ワークシートをTXTファイルとして保存する
sheet.SaveToFile("ExceltoText.txt", " ", Encoding.get_UTF8())
workbook.Dispose()
Pythonでテキスト(TXT)をExcelに変換する
Spire.XLS for Pythonを使用してTXTからExcelへの変換を実現するには、まずテキストファイルからデータを読み込み、データを分割し、ExcelのXLSまたはXLSXファイルにインポートする必要があります。
以下は、TXTファイルをExcelのXLSまたはXLSX形式に変換するPythonのサンプルコードです:
from spire.xls import *
from spire.xls.common import *
# テキストファイルを読む
with open('ExceltoText.txt', 'r', encoding='utf-8') as file:
lines = file.readlines()
# テキストファイルのデータをセパレータで分割し、リストに格納する。
data = [line.strip().split(' ') for line in lines]
# Workbookインスタンスの作成
workbook = Workbook()
# 最初のワークシートを取得する
sheet = workbook.Worksheets[0]
# データをワークシートに書き込む
for row_num, row_data in enumerate(data):
for col_num, cell_data in enumerate(row_data):
sheet.Range[row_num + 1, col_num + 1].Value = cell_data
# ヘッダー行のフォントを太字にする
sheet.Range[1, col_num + 1].Style.Font.IsBold = True
# 列幅の自動調整
sheet.AllocatedRange.AutoFitColumns()
# .xlsx(または.xls)ファイルに保存する
workbook.SaveToFile('TextToExcel.xlsx', ExcelVersion.Version2016)
workbook.Dispose()
出力:
Python ExcelライブラリはExcelからCSV、ExcelからPDF、Excelから画像、ExcelからHTML、その他多くのファイルフォーマットへの変換もサポートしています。クリックして他のデモをご覧ください: