[Python programming practice edition] Let's automate Excel operation! ~Beginners~

Ғылым және технология

I'm a supporter who provides information about Python programming!
This video is a video that tried automating Excel file operations with Python 😊
※ Subtitles use automatic translation, so there may be some mistranslations.
If you are using Excel files in your business and want to automate various processes, I would be happy if you could refer to it.
・How to get the file path
・How to read Excel files
・How to handle tabular data
I explain these
I'm actually running the Python code and demonstrating it, so I'd be happy if you could watch it to the end 😊
💙 Membership 💙
Explanation video ▶︎ • 【ご報告】本日からメンバーシップ開始します!...
Register ▶︎ / @pythonvtuber9917
For iPhone, click here ▶︎ PythonSuppl/statu...
🎥 Related videos 🎥
Folder path operation ▶︎ • 【Pythonプログラミング入門】フォルダー...
Excel operation ▶︎ • 【PythonでExcel操作!】OpenP...
Pandas ▶︎ • 【Pythonプログラミング】Pandasの...
Type annotation ▶︎ • 【Pythonプログラミング入門】タイプアノ...
💻 Operating environment 💻
Windows 10
Python 3.9.0
⭐️ Chapters ⭐️
0:00 Today's theme "Automating Excel operations with Python"
0:56 work contents
2:53 Get path of Excel file
4:49 Extracting data
7:45 Create a list
9:34 Excel file output
10:25 Change to date type
11:44 Refactoring
17:17 ending
💜 Channel description 💜
I'm a Vtuber Sapoo who explains Python programming✨
I will upload videos that are easy for beginners to understand and systematically learn Python!
I would be happy if everyone liked Python even a little 💕
I'm also on Twitter, so please follow me!
Twitter ▶︎ / pythonsuppl
Email ▶︎ python.supu.vtuber@gmail.com
#Python
#Exercises
#Automation
#Excel
#study
#python
#PythonVTuberサプー

Пікірлер: 65

  • @pythonvtuber9917
    @pythonvtuber99172 жыл бұрын

    ※ 訂正 14:14ごろに記載している、複数戻り値のタイプアノテーションの書き方が正確ではありませんでした😵 以下のようにTupleを使うのが正確な書き方になります! ===================== from typing import Tuple def get_invoice_data(file_path: Path) -> Tuple[datetime.date, str, int]:

  • @Atsushi7433
    @Atsushi7433 Жыл бұрын

    勉強になりました。 ありがとうございました😊

  • @paprikaredman
    @paprikaredman2 жыл бұрын

    まずは動作させるProg→リファクタリングの考え方が大変勉強になりました。ありがとうございます。

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    コメントありがとうございます!この動画がお役に立っていたら嬉しいです😊

  • @user-ly2su3xb3t
    @user-ly2su3xb3t2 жыл бұрын

    関数の切り出しをしてリファクタリングする所参考にします😊 サプーさんの動画を見てると過去動画の技術をきちんと折り込んでくれるので、復習できて自分もステップアップできてるなと実感できます! こんな風に実践動画を出してくれるのとても楽しみです♪

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    ご視聴いただきありがとうございます😊 一気にコードを書くと言うより、試行錯誤しながらコードを作り上げる過程をお見せできたら、みなさんのお役に立つ動画になるんじゃないかなぁーと思って、今回はちょっと挑戦的な動画を出してみました!! 今後も実践系の動画を出していきますね✨

  • @user-dn9ry9ss1i
    @user-dn9ry9ss1i2 жыл бұрын

    実際にプログラムを作成するときの試行錯誤を解説してくれる人はあまりいないので、勉強になります!

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    ありがとうございます😊 リファクタリングの過程とか、エラー出力時の対応とかも含めて、もっと実践的な動画をどんどん出していこうと考えてます!

  • @kctCALM
    @kctCALM10 ай бұрын

    Pythonは独学で書いてきたけど、他の人ってどんな感じで書いてるんだろうと思ってサジェストに出てたこの動画観てみましたが、とても分かりやすかったですし、再勉強するのにちょうど良いなーと思いました チャンネル登録させていただきました! 参考にさせていただきます!

  • @me-me-661
    @me-me-6612 жыл бұрын

    とてもわかりやすかったです。 docstringの動画も楽しみです!

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    ご視聴いただきありがとうございます😊 docstringは近々出そうと思ってるので、もう少々お待ちください!

  • @taroungsora
    @taroungsora2 жыл бұрын

    まだ、pythonを始めたばかりの超 初心者ですが、ようやくこの場所で進んでいけそうな気がします。Excelのマクロですこし自動化の経験はありますがこれからの道のりは厳しそうですが、頑張っていきたいと思います。ここに出会えてよかったと思います。

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    コメントありがとうございます😊 マクロも便利ですが、Pythonは他のシステムとの連携も容易にできるので、ぜひ色々試してみてください!このチャンネルは初心者向けになっているので、気になるトピックの動画を色々見てもらえたら嬉しいです✨

  • @shinya8960
    @shinya89602 жыл бұрын

    素晴らしい動画ですね。とても勉強になります。最近、会社で部署異動になりExcelを多用するので、効率的に仕事ができないか模索しております。これを機にPythonで仕事を効率的にやっていきたいです。

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    ご視聴いただきありがとうございます! ExcelをPythonから自動化できると仕事のスピードUPに繋がると思うので、ぜひ参考にしてもらえたら嬉しいです😊

  • @THEpurple5-mt5fb
    @THEpurple5-mt5fb4 ай бұрын

    ❶3/18Pythonの作業画面があって分かりやすい。他の動画も見てみる🔥

  • @user-kv5jz2cz7y
    @user-kv5jz2cz7y2 жыл бұрын

    🫂めちゃくちゃ感謝!!

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    この動画がお役に立てていたら嬉しいです😊

  • @user-kv5jz2cz7y

    @user-kv5jz2cz7y

    2 жыл бұрын

    @@pythonvtuber9917 😊いやいやいや、こちらこそ!

  • @user-pw6ow3bq4o
    @user-pw6ow3bq4o Жыл бұрын

    appendが非推奨と出ますので別の方法も知りたいです

  • @user-tc6lb9zb5c
    @user-tc6lb9zb5c10 ай бұрын

    動画で使用されているサンプルファイルはどこから取得できますか?

  • @user-km8fh5hk4f
    @user-km8fh5hk4f11 ай бұрын

    同じ作業して練習したいと思ったのですが、このサンプルのエクセルファイルをいただくことは可能でしょうか?

  • @ninja215daisuki
    @ninja215daisuki6 ай бұрын

    appendに代わるやり方を教えてください。appendが使えずにこまってます

  • @user-oi6dk9hm4r
    @user-oi6dk9hm4r2 жыл бұрын

    VBAでは出来ずPythonなら出来るExcel処理はありますか? VBAはある程度扱えるのでPythonでないと出来ないところを学びたいです

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    ご質問ありがとうございます! 私はVBAを使ったことがないのですが、知識として知る限り、基本的にはVBAで出来ないExcel操作はないと思います😉

  • @ninja215daisuki
    @ninja215daisuki Жыл бұрын

    いつも勉強させていただいてます。有り難うございます 質問ですすべての値が出力できず、歯抜けになることがあります。何が原因ですか

  • @pythonvtuber9917

    @pythonvtuber9917

    Жыл бұрын

    ご質問ありがとうございます! 「歯抜け」とは具体的にどんな出力でしょうか?ソースコードなど共有いただけたら、もう少し明確に回答できるかと思います!

  • @user-vn3tr8sf9e
    @user-vn3tr8sf9e2 жыл бұрын

    8:18のところで df = df.append(日付など) と書いてますがこれの代わりに df.append(日付など) だけで書いてもいいのでしょうか。一見すると代入文にする必要はないように見えます

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    ご質問ありがとうございます!鋭い質問ですね✨ 実はDataFrameのappendは非破壊的なメソッドのため、元のオブジェクトは変更せずに、戻り値で変更されたオブジェクトが取得できます。そのため、代入が必要です😉 一方、Pythonのリストのappendは破壊的なメソッドのため代入は不要です。似ているので、すごく紛らわしいですよね...😇

  • @user-vn3tr8sf9e

    @user-vn3tr8sf9e

    2 жыл бұрын

    @@pythonvtuber9917 よくわかりました。ありがとうございます!

  • @21uma10
    @21uma102 жыл бұрын

    とても参考になる動画ありがとうございます! 以前、フォルダ内の大量のExcelファイルから特定の単語を検索するというのをVBAで作った(というかネットのコードをほぼコピペした😅)んですが、実行時間が長くて使い物になりませんでした。 おそらくExcelファイルを一つ一つ開いているので時間がかかったんじゃ無いかと思いますが・・・ そういった類いの処理はPythonだったら高速に実行できたりしますかね?

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    実際にやってみないと分からないですが、VBAよりPythonのほうが速い気がします! Excel操作はPythonからでもサクサクできるので、ぜひ機会があれば使ってみてください😉

  • @404_not_found_in_jpn
    @404_not_found_in_jpn2 жыл бұрын

    動画のように、 def 関数名 -> (戻り値1, 戻り値2, 戻り値3) とすると、 Tuple expression not allowed in type annotation Use Tuple[T1, ..., Tn] to indicate a tuple type or Union[T1, T2] to indicate a union type", と出ます(VScodeを使用しています)。 無視して実行すると、問題なく動いているようなのですが、放置していても大丈夫ですか? 素人丸出しの質問ですみません……

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    ご質問ありがとうございます!! 私の戻り値のタイプアノテーションの書き方が正確ではなかったです😵 以下のように書き直していただけると、警告が出ないかと思います😊 ご指摘ありがとうございます✨ ========= from typing import Tuple def get_invoice_data(file_path: Path) -> Tuple[datetime.date, str, int]: =========

  • @404_not_found_in_jpn

    @404_not_found_in_jpn

    2 жыл бұрын

    返信ありがとうございます!上手く行きました! ありがとうございました!

  • @user-td7ik6jk3n
    @user-td7ik6jk3n8 ай бұрын

    すみません、何か事前に対応しないといけないことが抜けていると思われますが、わかりませんので教えていただけないですか。 動画の9:06時点で違うエラーとなっており、データフレームにappendの属性がないと出てきてしまいます。 「AttributeError: 'DataFrame' object has no attribute 'append'. Did you mean: '_append'?」

  • @natrium0119
    @natrium01192 жыл бұрын

    Excelのセルのコメントの内容をpythonで取得することは出来ますか?

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    ご質問ありがとうございます! 私はやったことがないのですが、OpenPyXLのセルのcomment.textにアクセスすると取得できるみたいですね! サンプルコード ▶︎ qiita.com/rihu-do/items/25c0623cd81228054724 OpenPyXLの動画 ▶︎ kzread.info/dash/bejne/gpua2Zt9mdCun7Q.html

  • @user-vn3tr8sf9e
    @user-vn3tr8sf9e2 жыл бұрын

    動画のリクエストです あるライブラリのドキュメントを読んだらスタティックメソッドというのが出てきたのですがなんなのかよくわかりません。サプーにスタティックメソッドの解説をお願いしたいです。

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    ご要望ありがとうございます! スタティックメソッド、検討してみますね😉 すぐには出せないと思うので、少々お待ちいただけたらと思います!

  • @user-vn3tr8sf9e

    @user-vn3tr8sf9e

    2 жыл бұрын

    @@pythonvtuber9917 ありがとうサプー!

  • @ninja215daisuki
    @ninja215daisuki8 ай бұрын

    moduleNotFoundError:No module named 'openpyxl'になり困ってます 解決策を教えてください

  • @ninja215daisuki

    @ninja215daisuki

    8 ай бұрын

    ModuleNotFoundError: No module named 'pandas'にもなり インストールはできていますが

  • @user-dc1yt2fn8s
    @user-dc1yt2fn8s2 жыл бұрын

    フム😃 この技術と ビューティフルスープ?等の 抽出技術を組み合わせれば ネット上の必要なデータを 白書のExcelに書き込むも可能と?

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    そうですね!スクレイピングのライブラリと組み合わせれば、ネット上のデータもExcelに出力することができます😊 いろんなライブラリを組み合わせて使うと、とっても便利で面白いスクリプトが作れますね!

  • @user-dc1yt2fn8s

    @user-dc1yt2fn8s

    2 жыл бұрын

    @@pythonvtuber9917 申し訳ございません 今回の動画とは関係ないのですが If文と例外処理を使って 「意図的」にエラーを起こす事は可能ですか? 例えば 1と入力されたら インデックスエラーを起こすようにとか

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    意図的にエラーを起こすことは可能です! assertを使うかraiseで例外送出する方法の2つが考えられますね😊 両方ともサプーのチャンネル内では解説動画を出していないのですが、assertについては近々やりたいな、と思っていたのでもう少々お待ちいただけたらと思います!例外送出はやるタイミングを失っているものの、いずれやりたいと思ってます!!

  • @user-dc1yt2fn8s

    @user-dc1yt2fn8s

    2 жыл бұрын

    @@pythonvtuber9917 かしこまりました(*^^*)

  • @user-dc1yt2fn8s

    @user-dc1yt2fn8s

    2 жыл бұрын

    @@pythonvtuber9917 明日ライブ見に行きます(`・ω・´)キリッ

  • @ninja215daisuki
    @ninja215daisuki Жыл бұрын

    このexcel操作はMacのexcelもできますか、またフィルのパスがone driveにあってもできるんですか いきなりの質問ですが、宜しくお願いします

  • @pythonvtuber9917

    @pythonvtuber9917

    Жыл бұрын

    MacのExcelでも操作出来ますよ!One DriveについてはMac側にアプリなどでマントされている状態であれば、普通のファイルと同じように扱えます!

  • @ninja215daisuki

    @ninja215daisuki

    Жыл бұрын

    返信ありがとうございます。助かります もう一点 vscodeで実際プログラミングしてますが、実行してもエラーも出ずにプリントもされない事があります。 どう対応したらいいのでしょうか

  • @pythonvtuber9917

    @pythonvtuber9917

    Жыл бұрын

    動かしたいコードがそもそも動いていないのか、それともprint文まで処理が到達せずにすり抜けてるのかを切り分けるために、import文より上の1行目にprint('start')みたいにprint文を書いてから実行してみてはいかがでしょうか?もしもそれで、「start」が表示されないなら、そもそも動かしたいと思っているPythonファイルじゃないファイルが指定されているかもしれませんね。

  • @ninja215daisuki

    @ninja215daisuki

    Жыл бұрын

    startは表示されますが、実行隅になっているので対処法がわかりません

  • @pythonvtuber9917

    @pythonvtuber9917

    Жыл бұрын

    startが表示されるということは、スクリプト自体は動いていますね!多分、動かしたい処理の部分まで到達していないんだと思います。 私がよくやらかしちゃうのは if __name__ == '__main__': の部分が間違ってアンダースコア1つになってしまっていたり、if文の条件のTrue とFalseが逆になっていたりします。そういう小さいミスで実行したい処理ができていない可能性はないですかね?もしよければコードを共有していただけたら私の方でも確認できるのですが...

  • @pythonvtuber9917
    @pythonvtuber99172 жыл бұрын

    今回、ちょっと音が反響してて聞きにくいかもです...😵

  • @user-lt9vw3ry4x
    @user-lt9vw3ry4x2 ай бұрын

    栄光ゼミナール Python language is automaton. Dislude continious.

  • @shinyasatake1507
    @shinyasatake1507 Жыл бұрын

    MSofficeたかいっすからリブレオフィスはダメっすかね?

  • @pythonvtuber9917

    @pythonvtuber9917

    Жыл бұрын

    いいと思います!

  • @shinyasatake1507

    @shinyasatake1507

    Жыл бұрын

    @@pythonvtuber9917 大変謝謝!!

  • @lu-bing
    @lu-bing2 жыл бұрын

    勉強になりました。ありがとうございます。 最後に以下のエラーが出てきました。いろいろと調べてみたが、なかなか解決できません。 解決方法をご教授していただけないでしょうか。 --------- --------- --------- File "D:\01_Python\01_PJ\test\demo.py", line 13, in get_invoice_data inv_datetime.year, AttributeError: 'NoneType' object has no attribute 'year' --------- --------- ---------

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    ご質問ありがとうございます! 「Noneだからyearっていう属性がないよ」ってエラーが出ているので、inv_datetimeにオブジェクトが何も代入されておらず、Noneになっているんだと思います!Excelファイルの1シート目のH4セルにデータが入っていて、inv_datetimeの変数にきちんとデータが代入できているか確認してみてください😉

Келесі