XlsxWriterを使用したExcelファイルの作成方法を紹介します。XlsxWriterを用いることで、Excelファイルの新規作成が出来ます。XlsxWriterでは既存ファイルの読み込みはできませんが、チャートの作成、セルの書式設定、セルのセルマージ、Excelの関数の埋め込み等、Excelファイルを作成する為に十分な機能を有しています。
XlsxWriterのインストール
Anacondaを使用している環境であればXlsxWriterはインストールされていると思います。もしインストールされていない場合は、pipかcondaでインストールします。
pip経由でインストール
pip install xlsxwriter
conda経由でインストール
conda install xlsxwriter
#または下記のいずれかを実行
conda install -c conda-forge xlsxwriter
conda install -c conda-forge/label/gcc7 xlsxwriter
conda install -c conda-forge/label/cf201901 xlsxwriter
#または
conda install -c anaconda xlsxwriter
XlsxWriterでExcelファイルを新規作成
使い方
1. 新規ワークブックの作成。
workbook = xlsxwriter.Workbook(filename)
- ファイル名は絶対パスで指定したほうが良い。
2. ワークシートの作成
worksheet = workbook.add_worksheet(sheetname)
3. ワークシートへ書き込み
方法1 : 行と列を指定して書き込み
worksheet.write(row, col, value)
- row : int
- 行番号(書き込み行)。row = 0で1行目を選択
- col : int
- 列番号(書き込み列)。col= 0 でA列を選択
- value : numeric, time, string, bool, none 等
方法2: セルを直接指定して書き込み
worksheet.write(cell, value)
- cell : string
- セル番地(A1″、”A2″、”B1″など書き込みたい番地)
- value : numeric, time, string, bool, none 等
4. ワークブックを閉じる
workbook.close()
ソースコード例
import os
import xlsxwriter
import numpy as np
import pandas as pd
filename = "~/test2.xlsx"
#ファイル名は絶対パスで指定
filename = os.path.expanduser(filename)
X = np.arange(0, 100, 5)
Y = X**2.5
workbook = xlsxwriter.Workbook(filename)
worksheet = workbook.add_worksheet("test02")
row = 0
col = 0
# A1セルに書き込み
worksheet.write(0, col, "X")
# B1セルに書き込み
worksheet.write(0, col + 1, "Y")
# C1セルに書き込み
worksheet.write(0, col + 2, "X2")
# D1セルに書き込み
worksheet.write(0, col + 3, "Y2")
row += 1
for x, y in zip(X, Y):
#行と列を指定して値を書き込み
worksheet.write(row, col, x) #A2,A3,A4...へ書き込み
worksheet.write(row, col + 1, y) #B2,B3,B4...へ書き込み
#セルを指定して書き込み
cell_c = "C" + str(row + 1) #xをC2,C3,C4・・・へ書き込み
cell_d = "D" + str(row + 1) #yをD2,D3,D4・・・へ書き込む
worksheet.write(cell_c, x)
worksheet.write(cell_d, y)
row += 1
workbook.close()