0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

週一でPython勉強会やってみる⑥

Last updated at Posted at 2023-05-25

前回の続き

週一と言ったな。あれは嘘だ。
人が集まらなかったので先週は流局しました。
裏でLambdaをポチポチしながら可能性を探ってました。
CSSとかJSを直接持ってくるのはAPIGWとLambdaで作れないんですかね・・・
CSSとして認識されてないor読み込みタイミングが合ってないのかなという感じでしたが。
開発者モードにしてCSS内の適当な箇所でエンター押すと反映されるという。

エクセルを作る

教科書には今回利用するライブラリのインストールからやっているが、我々はColaboratoryを使うので割愛。
openpyxlというライブラリを使って、まずはA1セルに「hello」を入力しエクセルを保存する。

import openpyxl as excel

book = excel.Workbook()

sheet = book.active

sheet["A1"] = "hello"

book.save("ばなな.xlsx")

簡単にできた。
前回はGAS勉強会をしていたこともあり、エクセルの中の、シートの中のセルという関係性はすんなり理解できていた様子。

エクセルを読み込む/書き込む

エクセルがある前提なので、対象のエクセルがあるかどうかは別途確認する必要がある。
セルの取得方法もセル名を直接入力する方法や、行と列で指定する方法がある。
対象セルのvalueに設定してbookをsaveすれば完成。
セルのcoordinateでセル名を取得可能。

import openpyxl as excel

# チェックしたいならこれ
#import os
#path = 'ばな.xlsx'
#is_file = os.path.isfile(path)
#if is_file:
#  print("apple")
#else:
#  print("banana")
#  exit

book = excel.load_workbook("ばなな.xlsx")

sheet = book.worksheets[0]
# sheet = book.worksheets["Sheet"]はできないようだ
print(sheet.title)

cell = sheet["A1"]
cordinate = cell.coordinate # A1

sheet.cell(row=2, column=1, value="apple")

cell = sheet.cell(row=3, column=1)
cell.value  = "melon"

book.save("ばなな.xlsx")

九九の表を作る

rangeでループ回数を設定している。
range(1,10)で1からスタートすることも可能。

import openpyxl as excel

book = excel.Workbook()

sheet = book.active

for y in range(1,10):
  for x in range(1,10):
    cell = sheet.cell(row=y, column=x)
    cell.value = x * y

book.save("calc.xlsx")

まとめ

簡単にエクセルを弄れるようになった。(気がする
ライブラリによって使い方が変わるのかなど分からないので要調査。
次回は操作に慣れるために問題を解く予定。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?