LoginSignup
22
33

More than 5 years have passed since last update.

Python(Xlwings)を使ってExcelを操作してみる

Last updated at Posted at 2016-05-28

今度はXlwingsを使ってExcelを操作してみる。
表現がExcelっぽいからか、Pandas/XlswWriterより使いやすい気がする。
直接Excel触るからのインストールが必要だけど。

準備

xlwingsをインストール

conda install xlwings

Excelをインストール。
今回使っているバージョンはExcel for mac 2011

Excleファイルを作成して書き込み

# -*- coding: utf-8 -*-
import xlwings as xw
import matplotlib.pyplot as plt

# Excel New Bookを作成
wb = xw.Workbook()

# セルに値をセットする
xw.Range('A1').value = 'Foo 1'

# 値を取得する
str = xw.Range('A1').value
print(str)

# 指定したセルを基準に表データをセットする
xw.Range('A1').value = [['Foo1','Foo2', 'Foo3'], [10, 20, 30]]

# 指定したセルを基準に表データを取得する
table = xw.Range('A1').table.value
print(table)

# 指定した範囲のデータを取得する
table2 = xw.Range('A1:C2').value
print(table2)

# ワークブックやシートを指定する
table3 = xw.Range('Shett1', 'A1:C2', wkb=wb).value
print(table3)

# matplotlibのグラフを追加する(エクセルのグラフを作成できるけど)
fig = plt.figure()
plt.plot([1,2,3,4,5])
plot = xw.Plot(fig)
plot.show('Plot1', left=xw.Range('D3').left, top=xw.Range('D3').top)

# 保存
file_name = "xlwings_sample.xlsx"
wb.save(file_name)

既存のファイルを読み込む

# 既存のファイルを読み込み
wb2 = xw.Workbook(file_name)
xw.Range('A1').value = '書き込みしたよ'
wb2.save(file_name)
22
33
1

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
22
33