日々精進

新しく学んだことを書き留めていきます

pythonで、あるエクセルファイルのシートを別のエクセルファイルにコピーする

openpyxlにはシートをコピーするメソッドは用意されていないので、セルの値や書式などをコピーするメソッドを駆使してシートのコピーを実現する必要がある。

以下のコードを参考にしてシートコピーが実現できた。ありがたや~。 参考: stackoverflow.com

mypyとpyrightの比較

ざっくりですが・・

  • mypy
    • 比較的厳密にチェックする。
  • pyright
    • なるべく型推論してくれるので、type hintが少なくて済む
    • 動作がmypyより速い
    • VSCode拡張のpylanceがバックエンドとして使っているので、VSCodeとCIサーバで同じチェックをすることが容易

AIモデル開発のような、なるべくtype hintを書かずにゆるくやりたい場合はpyrightの方が向いてそう。

参考:

future-architect.github.io

kamocyc.hatenablog.com

pyright,pytest,flake8をpyproject.tomlで設定する

掲題の対応をする上でちょっと困ったところをメモ。

flake8はpyproject.tomlに対応してないので、別途パッケージをインストールする必要がある。

参考:

qiita.com

pytestの設定をtomlに書く場合のセクションは[tool.pytest.ini_options]にする。

参考:

docs.pytest.org

dev containerを使っている場合、VSCodeにflake8の設定を反映するには、コンテナをrebuildしないとだめっぽかった。 devcontainer.jsonを変えているから?