Python学習 Excel操作(openpyxl)練習問題3

第3問 商品管理表を作成しよう

今回は、openpyxlを使って商品管理表を作成してみましょう。

目次

条件

以下の条件でExcelファイルを作成してください。

  • Workbook()を使って新しいExcelファイルを作成する
  • 作成したシートを取得する
  • sheet.cell(row=, column=, value='')を使ってセルへデータを入力する
  • 「商品管理表.xlsx」という名前で保存する

入力するデータ

商品名価格在庫数
ノート20050
ペン100100
ファイル30030

完成イメージ

作成されるExcelファイル

A列B列C列
商品名価格在庫数
ノート20050
ペン100100
ファイル30030

解答

import openpyxl
wb=openpyxl.Workbook()
sheet=wb.active
sheet.cell(row=1,column=1,value='商品名')
sheet.cell(row=2,column=1,value='ノート')
sheet.cell(row=3,column=1,value='ペン')
sheet.cell(row=4,column=1,value='ファイル')
sheet.cell(row=1,column=2,value='価格')
sheet.cell(row=2,column=2,value=200)
sheet.cell(row=3,column=2,value=100)
sheet.cell(row=4,column=2,value=300)
sheet.cell(row=1,column=3,value='在庫数')
sheet.cell(row=2,column=3,value=50)
sheet.cell(row=3,column=3,value=100)
sheet.cell(row=4,column=3,value=30)
wb.save('商品管理表.xlsx')

問題の解説

今回は、Pythonのopenpyxlを使ってExcelに商品管理表を作成しました。

openpyxlでは、Excelのセルを指定してデータを入力することができます。

セルへ入力するときは、以下の形を使います。

sheet.cell(row=行番号, column=列番号, value=入力する内容)

それぞれの役割は、

  • sheet
    → データを入力するシート
  • row
    → 行番号
  • column
    → 列番号
  • value
    → セルに入力する値

になります。

例えば、

sheet.cell(row=1, column=1, value='商品名')

の場合、

Excelの**1行目・1列目(A1セル)**に「商品名」と入力されます。

また、

sheet.cell(row=2, column=1, value='ノート')

の場合は、

Excelの**2行目・1列目(A2セル)**に「ノート」が入力されます。


今回作成する表では、

  • A列 → 商品名
  • B列 → 価格
  • C列 → 在庫数

として入力していきます。

Excelでは列名がありますが、Pythonでは番号で指定します。

ExcelPython
A列column=1
B列column=2
C列column=3

また、行番号も1から始まります。

ExcelPython
1行目row=1
2行目row=2
3行目row=3

このように、rowcolumnを指定することで、PythonからExcelの好きな場所へデータを入力できます。

感想

今回の練習では、cell()を使ってセルを指定しながらデータ入力を行いました。

実際に作成してみると、いくつか注意点がありました。

まず、セルへ入力するときはWorkbookではなく、取得したシートに対してcell()を使う必要があります。

最初は、

wb.cell()

としてしまい、エラーになりました。

正しくは、

sheet.cell()

です。

また、columnのスペルを間違えてしまい、エラーが発生しました。

colmun

ではなく、

column

が正しいです。

Pythonはスペルミスでもエラーになるため、コードを書くときは注意が必要だと感じました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

FIREを目指しながら、投資・プログラミング・家庭菜園・資格勉強に取り組んでいます。試行錯誤しながら積み上げる日々を記録するブログです。

コメント

コメントする

目次