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

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 ก.พ. 2025

ความคิดเห็น • 76

  • @pythonvtuber9917
    @pythonvtuber9917  3 ปีที่แล้ว +24

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

  • @スズ-p7i
    @スズ-p7i 3 ปีที่แล้ว +21

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

    • @pythonvtuber9917
      @pythonvtuber9917  3 ปีที่แล้ว +1

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

  • @paprikaredman
    @paprikaredman 3 ปีที่แล้ว +5

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

    • @pythonvtuber9917
      @pythonvtuber9917  3 ปีที่แล้ว +2

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

  • @kctCALM
    @kctCALM ปีที่แล้ว +3

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

  • @まんぷくたろう-p8l
    @まんぷくたろう-p8l 3 ปีที่แล้ว +3

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

    • @pythonvtuber9917
      @pythonvtuber9917  3 ปีที่แล้ว +3

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

  • @ahtgmhvpdpm
    @ahtgmhvpdpm 10 หลายเดือนก่อน

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

  • @Atsushi7433
    @Atsushi7433 ปีที่แล้ว +1

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

  • @shinya8960
    @shinya8960 2 ปีที่แล้ว +1

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

    • @pythonvtuber9917
      @pythonvtuber9917  2 ปีที่แล้ว +1

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

  • @taroungsora
    @taroungsora 3 ปีที่แล้ว +4

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

    • @pythonvtuber9917
      @pythonvtuber9917  3 ปีที่แล้ว +2

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

  • @me-me-661
    @me-me-661 3 ปีที่แล้ว

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

    • @pythonvtuber9917
      @pythonvtuber9917  3 ปีที่แล้ว +1

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

  • @pythonvtuber9917
    @pythonvtuber9917  3 ปีที่แล้ว +5

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

  • @ninja215daisuki
    @ninja215daisuki ปีที่แล้ว

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

  • @kou-u2o
    @kou-u2o 3 ปีที่แล้ว +3

    🫂めちゃくちゃ感謝!!

    • @pythonvtuber9917
      @pythonvtuber9917  3 ปีที่แล้ว +2

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

    • @kou-u2o
      @kou-u2o 3 ปีที่แล้ว

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

  • @マーン-k6w
    @マーン-k6w ปีที่แล้ว +2

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

  • @ゴルゴ13-v9h
    @ゴルゴ13-v9h ปีที่แล้ว +1

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

  • @taimura2126
    @taimura2126 5 หลายเดือนก่อน +1

    請求書がPDFだった場合は、金額や会社名を1つのエクセルファイルに一覧表としてまとめることはできますか?

    • @pythonvtuber9917
      @pythonvtuber9917  5 หลายเดือนก่อน +1

      PDFの操作については以下の動画で解説しています!こちらを使えば出来ると思います!
      th-cam.com/video/1sjSCH9DhsY/w-d-xo.html

    • @taimura2126
      @taimura2126 5 หลายเดือนก่อน +1

      @@pythonvtuber9917 ありがとうございます!好きです!

  • @ユウキ-p1m
    @ユウキ-p1m ปีที่แล้ว

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

  • @ninja215daisuki
    @ninja215daisuki ปีที่แล้ว +1

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

    • @ninja215daisuki
      @ninja215daisuki ปีที่แล้ว +1

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

    • @Estelesjeux
      @Estelesjeux 4 หลายเดือนก่อน

      import pandas as pdとか冒頭ですればよいのでは…?👀
      必要なモジュールが足りないっぽい😂

  • @テオーリア-p5c
    @テオーリア-p5c 3 ปีที่แล้ว +3

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

    • @pythonvtuber9917
      @pythonvtuber9917  3 ปีที่แล้ว +4

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

    • @テオーリア-p5c
      @テオーリア-p5c 3 ปีที่แล้ว

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

  • @masashi-g4r
    @masashi-g4r ปีที่แล้ว

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

  • @ものぐりせりど6
    @ものぐりせりど6 3 ปีที่แล้ว +1

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

    • @pythonvtuber9917
      @pythonvtuber9917  3 ปีที่แล้ว +1

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

  • @ninja215daisuki
    @ninja215daisuki ปีที่แล้ว

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

    • @pythonvtuber9917
      @pythonvtuber9917  ปีที่แล้ว +1

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

  • @モコモコ-y2y
    @モコモコ-y2y 3 ปีที่แล้ว +1

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

    • @pythonvtuber9917
      @pythonvtuber9917  3 ปีที่แล้ว +2

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

    • @モコモコ-y2y
      @モコモコ-y2y 3 ปีที่แล้ว

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

    • @pythonvtuber9917
      @pythonvtuber9917  3 ปีที่แล้ว +1

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

    • @モコモコ-y2y
      @モコモコ-y2y 3 ปีที่แล้ว

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

    • @モコモコ-y2y
      @モコモコ-y2y 3 ปีที่แล้ว

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

  • @含み損で逝っちゃってる
    @含み損で逝っちゃってる 5 หลายเดือนก่อน

    こういうのってできるまでに独学で何時間Pythonを勉強したらいいのでしょうか

    • @pythonvtuber9917
      @pythonvtuber9917  5 หลายเดือนก่อน +1

      時間はちょっと分からないですが、数ヶ月ぐらいプログラミングをしていたらできるようになるんじゃないかな?と思いました!

    • @含み損で逝っちゃってる
      @含み損で逝っちゃってる 5 หลายเดือนก่อน

      @@pythonvtuber9917 なるほど!最近Pythonの勉強初めて独学で週に20時間ほどやっているのですが、勉強方法が定まらず成長している感じがしません。そこでもしおすすめの勉強方などあれば教えていただきたいです。

    • @pythonvtuber9917
      @pythonvtuber9917  5 หลายเดือนก่อน +1

      勉強方法などについてはメンバーシップの方でお話ししているので、よければご検討ください!

  • @KAMINAGA-d9b
    @KAMINAGA-d9b 4 หลายเดือนก่อน

    こんにちは、例えば自分のパソコンで開発しましたら、他のパソコンはPythonがない場合は起動できることが可能ですか?

    • @pythonvtuber9917
      @pythonvtuber9917  4 หลายเดือนก่อน +1

      PythonがインストールされてないとPythonで作ったプログラムは動かないのですがexeにするツールなどを使うとPythonがインストールされてない環境でも動くケースがあります!
      exe化ツールのPyinstallerについても説明している動画があるので、よければ参考にしてみてください!
      ▶︎ th-cam.com/video/dt7uuKztjjQ/w-d-xo.html

    • @KAMINAGA-d9b
      @KAMINAGA-d9b 4 หลายเดือนก่อน

      @@pythonvtuber9917 ありがとうございます。大変勉強になりました

  • @Yume-x9v
    @Yume-x9v 8 หลายเดือนก่อน

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

  • @テオーリア-p5c
    @テオーリア-p5c 3 ปีที่แล้ว

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

    • @pythonvtuber9917
      @pythonvtuber9917  3 ปีที่แล้ว +1

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

    • @テオーリア-p5c
      @テオーリア-p5c 3 ปีที่แล้ว

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

  • @shinyasatake1507
    @shinyasatake1507 2 ปีที่แล้ว

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

  • @ninja215daisuki
    @ninja215daisuki 2 ปีที่แล้ว +1

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

    • @pythonvtuber9917
      @pythonvtuber9917  2 ปีที่แล้ว +1

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

    • @ninja215daisuki
      @ninja215daisuki 2 ปีที่แล้ว

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

    • @pythonvtuber9917
      @pythonvtuber9917  2 ปีที่แล้ว +1

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

    • @ninja215daisuki
      @ninja215daisuki 2 ปีที่แล้ว

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

    • @pythonvtuber9917
      @pythonvtuber9917  2 ปีที่แล้ว +1

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

  • @404_not_found_in_jpn
    @404_not_found_in_jpn 3 ปีที่แล้ว

    動画のように、
    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  3 ปีที่แล้ว +1

      ご質問ありがとうございます!!
      私の戻り値のタイプアノテーションの書き方が正確ではなかったです😵
      以下のように書き直していただけると、警告が出ないかと思います😊
      ご指摘ありがとうございます✨
      =========
      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 3 ปีที่แล้ว

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

  • @21uma10
    @21uma10 3 ปีที่แล้ว +2

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

    • @pythonvtuber9917
      @pythonvtuber9917  3 ปีที่แล้ว +1

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

  • @natrium0119
    @natrium0119 2 ปีที่แล้ว +1

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

    • @pythonvtuber9917
      @pythonvtuber9917  2 ปีที่แล้ว +4

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

  • @lu-bing
    @lu-bing 2 ปีที่แล้ว

    勉強になりました。ありがとうございます。
    最後に以下のエラーが出てきました。いろいろと調べてみたが、なかなか解決できません。
    解決方法をご教授していただけないでしょうか。
    --------- --------- ---------
    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 ปีที่แล้ว +1

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