LoginSignup
0
0

【Python】 ExcelをTXTに、またはTXTをExcelに変換する

Last updated at Posted at 2024-06-21

はじめに

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()

出力:
ExceltoTXTPython.png

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()

出力:

TXTtoExcelPython.png


:pushpin: Python ExcelライブラリはExcelからCSVExcelからPDFExcelから画像ExcelからHTML、その他多くのファイルフォーマットへの変換もサポートしています。クリックして他のデモをご覧ください:

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