PythonでExcel自動化を行いたい人がまず見るべき講座|PythonによるExcel自動操作入門 連結版

Sdílet
Vložit
  • čas přidán 24. 07. 2024
  • ■ ビジネス戦闘力が圧倒的に向上するプログラミングスクール 『code4biz』🧑‍💻
    ↓説明会はこちら↓
    code4biz.jp/
    ※ 締切日:3月23日(水)23:59
    ※ 第2期開催は当分ありません
    👨‍💻⬇︎無料LINE登録で近日限定コンテツ公開⬇︎👨‍💻
    ✅プログラミング学習効率を飛躍的に高める3つの考え方
    ✅必ず知っておくべきエラー解決法9選
    ✅プログラミングによる業務効率化の重要な考え方と成功事例3選! etc...
    line.me/R/ti/p/@114eqgxg
    ■ 講義使用ファイル
    drive.google.com/drive/folder...
    本動画は、PythonでExcel操作を自動化するシリーズで公開した全3回の動画を連結した内容となります。Pythonを用いると様々な業務効率化を実現できますが、その中でもExcel業務の自動化ニーズはかなり多いと考えています。その自動化を実現するため、本動画では、Excelファイルの自動集約から集計表の作成、Excelでよく使われるピボットテーブルやVLOOKUP関数の実装、書式設定までを一気通貫でお伝えしていきます。
    00:00 イントロ
    01:03 Excelファイル(請求書)の集約
    33:36 集計表の作成とExcelでよく使われる機能
    01:25:52 書式設定とPDFからの出力
    ■ Twitter
    / 03imanyu
    ■ Udemy
    www.udemy.com/user/jin-xi-han...
    #PythonでExcel操作 #Excel自動化 #Python自動化

Komentáře • 75

  • @imanyu_programming
    @imanyu_programming  Před 3 lety +7

    オンライン講義を開講します!!
    リアルタイム講義はめったに実施しないので、是非この機会にご参加ください!😁
    日程:2021年9月10日 (金) 19:30 - 21:30
    sagasuru.jp/course-details/cho-honkaku-teki-python-niyoru-gyomu-jido-ka-jissen-gazo-ninshiki-to-burauza-sosa-no-jido-ka

  • @u-ta8872
    @u-ta8872 Před 2 lety +11

    エラー解決方法などもそのまま載せる事はいいですね👍
    上級者の方でもエラー出た時などは調べて対策してるってのが初心者にも伝わりますね!
    初心者からしたら上級者の方は何でもパパッと解決してる!とかミスをしない!とかって思い込んでしまうことがありますからね💦

  • @user-nz9rp6rw5i
    @user-nz9rp6rw5i Před rokem +1

    とてもわかりやすくて、参考になりました
    ありがとうございました
    引き続き、いろいろな、投稿を参考にさせていただきます

  • @yigata4806
    @yigata4806 Před 2 lety +1

    Python初学者ですが、大変勉強になります。ありがとうございます。

  • @user-tq9zd8zi9o
    @user-tq9zd8zi9o Před 3 lety +1

    とても参考になりました。ありがとうございます!

  • @user-wf7wn8bg7g
    @user-wf7wn8bg7g Před 2 lety +3

    参考になる情報ですので、フォローさせていただきました。pythonって使い勝手がいいんでうよねー簡単だし。

  • @user-ll2ri8ef1t
    @user-ll2ri8ef1t Před 2 lety +6

    なんとかglobでデータ読み込みできました。for文の解説込みで話してくれているので初心者にはとても頼もしいです。やはり、個々での働きはわかりますが、今回のようにfor文の中にfor文があったりすると初心者は意味不明なのです。個々の関数の働きなど説明されながらの動画でとても理解が深まったと感じました。これからも初心者向けの動画、または、実務で生かせる内容で、確実に理解が深まるような内容の動画期待しております。こういった内容の動画をいくつもこなすことで、実力が付くような気がしますので今後ともよろしくお願いいたします。

  • @takkad1590
    @takkad1590 Před 3 lety +3

    端末入力だけで財務諸表作成までを一元的に自動化したかったところです。

  • @user-ht1zp7bg8x
    @user-ht1zp7bg8x Před rokem +1

    いまにゅさん、
    いつも、python学習の一つとして拝見されていただいております。
    とてもわかりやすくて、同じ目線で実装してるので学びやすいです!
    色々pythonの質問できるコミュニティサイトとかありますか?
    お忙しい中恐縮ですが、よろしくお願いいたします。

  • @akaiaoi52
    @akaiaoi52 Před 3 lety +19

    大学のデータ解析でもむっちゃ役立ちました!!!
    ありがとうございます!

  • @tt-xs5wl
    @tt-xs5wl Před 2 lety +1

    いつもありがとうございます。
    【質問です】
    MacBookProかAirの購入を考えております。
    プログラミングをする場合、現状M1搭載のMacはアプリ等の互換性の関係で適していない部分がある可能性ある事から、Intelが入っているMacを購入すべきという記事を拝見しました。
    実際どう思われますか?
    また、プログラミングをする場合、現時点ではどのMacを買うのが適切だと思いますか?
    よろしくお願いいたします。

  • @waterbe644
    @waterbe644 Před 3 lety +3

    これは、実用的ですね。vbaの処理と比べ安くてすごく参考になります。

    • @imanyu_programming
      @imanyu_programming  Před 3 lety

      コメントありがとうございます!!
      そのようにおっしゃっていただき嬉しいです!!

  • @kaji877
    @kaji877 Před 3 lety +2

    動画ありがとうございます。とても勉強になります。非常に助かっています。
    エクセルで行っていことをpythonで実装しようと勉強中です。
    エクセルでやっていた機能の置き換えなどの動画の作成予定などありますでしょうか?例えば
    列1の値を列2、列3、列4...にそれぞれかけて値を出す(エクセルで言うsumproduct)など
    データフレーム全体に関数を適用や、列の平均などは出せるのですが、セルの値を使って計算していく
    や列同士の掛け算などが分からなくて、困っております。あとエクセルでは複素数がiなのに対し、pythonではjのため、エクセルの複素数データを読み込んでも、複素数として認識できません。jに置換しても上手くいきません。

    • @imanyu_programming
      @imanyu_programming  Před 3 lety

      コメントありがとうございます!!
      現状そのような動画の作成予定はありませんが、検討させていただきます!

  • @KIYO-Youtube
    @KIYO-Youtube Před 3 lety +9

    この動画好きすぎるのでいいね押しておきました!

  • @galois2208
    @galois2208 Před 2 lety +1

    途中まで上手くいってたのに、関数に「df['請求書No'] =…」を入力するのを忘れていたことに気づいて、入力し直してから再度実行したら「Excel file format cannot be determined, you must specify an engine manually.」が表示されて、xlrdのバージョンを1.2.0に下げてもダメで詰みました…orz

  • @user-dh9mc3vc5m
    @user-dh9mc3vc5m Před rokem +1

    いつも勉強させていただきありがとうございます。
    一点質問なんですが、16:00 にて、下記のようにカラムを代入されていたんですが
    .columnsの記述の理由がわらかないです。初心者質問で恐縮ですが、教えてもらえると幸いです。
    df.columns = columns

  • @YN-qi3ly
    @YN-qi3ly Před 2 lety +3

    初歩的な質問ですみません。
    いまにゅさんが用意してくださったエクセルファイルをjupyter lab で開いているファイルに入れて、glob関数を使ってエクセルファイルを読み取ったのですが、空のリストが返されます。
    どうしたらいいでしょうか?

  • @user-dw8ti5hh9g
    @user-dw8ti5hh9g Před 2 lety

    deepcopyを行う前のグラフ作成時に縦軸と横軸のグラフ両方作成されるのですがこれはなぜでしょうか

  • @takyoshi44
    @takyoshi44 Před 3 lety +2

    はじめまして。ユースフルの動画を見させて頂き、初心者でここにたどり着きました。初っ端4:59を教えてください。python_excel_01フォルダをC直下に置きまして、filepaths読込を実行すると結果が[] 空欄で帰ってきてしまいます。エラーではないので式の誤字ではないと思うのですが、どこに原因があると考えられますでしょうか?

    • @takyoshi44
      @takyoshi44 Před 3 lety +4

      やっと自己解決致しました。
      まだ進めてはいないのですが、google コラボラトリーはローカルを読めないということにやっと今気づきました。。。
      精進します。

  • @SH-ru8ve
    @SH-ru8ve Před 2 lety +4

    質問です。
    本当に初歩なのですが、「■ 講義使用ファイル」をダウンロードし、
    パスを取得すべく、
    import pandas as pd
    from glob import glob
    filepaths = glob('source/*.xlsx')
    filepaths
    を入力したのですが、
    パスを取得することができず、結果が [] となってしまいます。
    この原因と対策をおしえていただけますと助かります。

  • @ishida8429
    @ishida8429 Před 2 lety +1

    It would be nice that I could understand this :,)

  • @blackmagician-ng6fb
    @blackmagician-ng6fb Před 3 lety +2

    いつも、参考にさせていただき、たいへん助かっています。
    今西先生にお願いがあります。一つのファイルに複数のシートがあり、それぞれのシートの読み込むセルの位置(セル番号)が異なります。このファイルが複数有り、これを別のファイルの1枚のシートにコピペし纏める動画を作成いただけると助かります。
    (例えば、Sheet1~5のデータを横1行にコピペして、繰り返し処理を行うイメージです)
    ご検討いただけると幸いです。よろしくお願いします。

  • @user-le2ts5dz1s
    @user-le2ts5dz1s Před 3 lety +1

    いつも有意義な動画本当にありがとうございます。Excel、Wordの自動化について質問があるのですが、よろしければお答えいただけると幸いです。私はオンラインショップをやっているのですが宛先をシールに印刷することで書く手間を省き、自動化をしようと考えています。郵便番号、住所、名前などが記入されたエクセルシートをWordに移動させ、差し込み印刷ウィザードを利用しシールに印刷するところまでを自動化することは可能でしょうか。可能でしたら使用するツールを教えていただいてもよろしいでしょうか。何卒よろしくお願いいたします。

    • @user-xr6gw1zy3g
      @user-xr6gw1zy3g Před 2 lety

      たぶんRPAあたりのソフトを検討されたらいいと思います。ただ私自身、差し込み印刷はあまり経験ないので適確な情報ではないかもしれません。何かの参考に成ったら幸いです。

  • @user-sw9zd1uy9i
    @user-sw9zd1uy9i Před rokem +1

    14:27  でなぜdropna(axis =1)を使って欠損値を削除していないのでしょうか??

  • @ysakaguchi1674
    @ysakaguchi1674 Před 2 lety +3

    分かりやすい動画でいつも参考にさせていただいています。
    1点質問させてください。
    38:20あたりで躓いています。
    df = df.reset_index(drop=True) と入力すると以下のエラーが表示されました。
    AttributeError Traceback (most recent call last)
    in
    ----> 1 df = df.reset_index(drop=True)
    AttributeError: 'function' object has no attribute 'reset_index'
    これは何が原因なのでしょうか?

    • @user-xr6gw1zy3g
      @user-xr6gw1zy3g Před 2 lety +5

      dfを実行して結果を見たらどうかな?dfに表に成ってなければ、この行以前の場所にdfにpandasの表が入っていないからだと思われます。dfがpandasの表のデータじゃないから、reset_index()が実行できないんだと思われます。
      まずexcelではなくpandasの使い方を覚えれば今回のエラーの意味が解るかもしれません。ちょっといきなりexcelは敷居が高いと思います。
      僕も想像で言ってて、また上手く行かなかったら教えてください。僕自身もpythonはよく解ってないので勉強中の身でごめんなさい。一緒に勉強出来たら幸いです。

  • @user-zr4sg5mb7c
    @user-zr4sg5mb7c Před 2 lety +4

    日頃 vba で組んでいますが、python は、EUC には向かない感じがします。作り上げるまでの時間が結構かかりそうですね。

  • @user-tr5lk9uh8v
    @user-tr5lk9uh8v Před 3 lety +2

    pdf_gen(file_pdf,sh)でpdfを出力したら、同じデータが15行繰り返されてしまいます。どの様にすればよろしいでしょうか。

    • @imanyu_programming
      @imanyu_programming  Před 3 lety

      いただいた情報だけでは原因分かりませんね、、、

    • @user-tr5lk9uh8v
      @user-tr5lk9uh8v Před 3 lety +1

      関数内の11行目のdata.append(unit_aa) の開始位置が誤っていることに気が付きました。大変失礼いたしました。

  • @user-bm2cw4dj2m
    @user-bm2cw4dj2m Před 2 lety +2

    ポインティー痩せたな!?って思ったら全然違かった

  • @slaimu071201
    @slaimu071201 Před 2 lety +2

    ◎excelの自動化
    ●Excelファイルの集約
     *pandasを利用
    1.Excelファイルを準備
    →同じフォーマット/最大行数12行
    2.pandasとglobをインポート
    3.glob関数利用、
    →Excelファイルのパスを習得
    →glob('source/*.xlsx')
     filepathの変数に代入
    *_を変数につけるのは一時的に格納する
    変数の為
    5.データの抽出→請求情報(メインデータ)
           →(メタデータ)
          
    6.

    • @slaimu071201
      @slaimu071201 Před 2 lety

      ◎excelでよく使う機能
      ●カラムの順序変更
      ●集計表の作成
      ・売り上げ総額と打ち上げを順にまとめる
      1.担当者リストの作成
       発行者= 担当者
       ユニーク関数を使用して重複なく担当者を
       リスト化
       
      2.まず一人集計表作成
       1.条件抽出で岸辺さんのデータのみ抽出
       2.金額カラムの合計
       _df[] .sum()
      3.企業名抽出→ユニーク関数
       4.企業ごとの総額
      3.データフレームの構成確認
       1.合計 tot_earnings
      pd.DataFrame({'担当者':member})
      *インデックス番号入れないとエラー
       2.内訳 earnings
      dictクラス
      必要なものはクラスとキー
      →: でなく=
      →シングルクォーテーション省略可能

  • @user-ot7uf1pm6r
    @user-ot7uf1pm6r Před 2 lety

    質問している方いますが、filepathes=glob('source/*.xlsx')でシフトエンターしても[]が表示されてしまいます。googleコラボレートリーなので、実行ファイルと同じところにsourceフォルダを作ってファイルを入れました。

    • @rrr-dk8xf
      @rrr-dk8xf Před 2 lety +1

      自分は.xlsxではなく.csvにしたらいけました!

    • @goehana1217
      @goehana1217 Před 11 měsíci

      自分はjupyter notebookで実行したら表示されました。
      理由をchatGPTに聞いてみたら、下記の答えが返ってきました(私はちゃんと理解できていませんが…参考までに貼っておきます)
      ーーーーーーーーーー
      glob モジュールは、ファイルパターンにマッチするファイル名を見つけるための便利な方法を提供します。glob.glob() 関数を使用してファイル名を取得しようとする場合、通常の状況ではどちらのJupyter環境でも同じ結果が得られるはずです。しかし、一部の状況では異なる結果が得られることがあります。
      以下に考えられるいくつかの理由を挙げてみましょう。
      キャッシュの違い: Jupyter LabとJupyter Notebookは内部的に異なるキャッシュや動作を持っていることがあります。一方の環境ではキャッシュが更新されていない可能性があるため、ファイルの変更が反映されていないことがあります。
      Kernelのリスタート: Jupyter環境でカーネルがクラッシュしたり再起動したりすると、一部の変更が反映されないことがあります。この場合、一度カーネルを再起動してみてください。
      カレントディレクトリの違い: Jupyter LabとJupyter Notebookが実行されているディレクトリが異なる場合、glob を使用する際のカレントディレクトリが異なる可能性があります。これにより、異なるファイルやディレクトリがマッチすることがあります。
      バグや設定の違い: Jupyter LabやJupyter Notebookはそれぞれ別々のアプリケーションとして開発されており、一部のバグや設定の違いが影響を与えることがあります。バージョンの違いや設定の違いによっても影響が出る可能性があります。
      これらの理由の中から、問題の原因を特定するのが難しい場合は、以下のステップを試してみてください。
      カーネルを再起動してみてください。一部の状況では、問題が解決することがあります。
      ファイルの変更を確認するために、Jupyter LabとJupyter Notebookの両方で同じディレクトリを使用していることを確認してください。
      バージョンや設定の違いについて調査し、可能な限り同じ設定を使用するようにしてみてください。
      もし問題が解決しない場合は、具体的なコード例や状況を提供いただければ、より詳細なアドバイスをすることができるかと思います。

  • @user-tc4np2us9c
    @user-tc4np2us9c Před 3 lety +2

    glob関数でファイルを読み込めないんですが何が原因でしょう?

    • @imanyu_programming
      @imanyu_programming  Před 3 lety

      エラー内容等を見てみないとわからないですね、、、

  • @sy-yj3fo
    @sy-yj3fo Před 9 měsíci

    わかりやすい動画なので、これで勉強させて頂いています。
    1つ教えてもらいたいのですが動画の中の
    total_res =[]
    for member in members:
    _df = df[df['発行者コード'] == member]
    companies = _df['企業名'].unique()
     ・・・・・・・
    この部分で下記のようなエラーでどうしても解決できず困っています。
    考えられる原因は何でしょうか。よろしくお願いします。
    _df = df[df['発行者コード'] == member]
    ~~^^^^^^^^^^
    KeyError: '発行者コード'

    • @sy-yj3fo
      @sy-yj3fo Před 9 měsíci

      動画では、’発行者‘のところを’発行者コード’としていますが、名前が入っています。

  • @user-hy5qq3fo1i
    @user-hy5qq3fo1i Před 2 lety

    そういえば最近全然エクセル使ってないな

  • @WHITE2THE2REAPER
    @WHITE2THE2REAPER Před rokem

    8分の時点で挫折しました。xlrdのヴァージョンを下げてもxlsxが読み込めません。engineをopenpyxlにしてもダメでした。

    • @WHITE2THE2REAPER
      @WHITE2THE2REAPER Před rokem

      xlsに拡張子を変更したら読み込めました。

  • @user-ul6ki9mg3d
    @user-ul6ki9mg3d Před 2 lety

    1:14:30

  • @user-ll2ri8ef1t
    @user-ll2ri8ef1t Před 2 lety +4

    glob関数で同じ記述内容で処理しようとしても[]と表示されます。なぜでしょうか?

    • @user-xr6gw1zy3g
      @user-xr6gw1zy3g Před 2 lety +1

      こんにちは、多分1:58のsourceと言うフォルダにEXCELファイルが入ってないからだと思います。講義用使用ファイルあたりから、EXCELファイルを読み込んでないのが原因に想われます。
      それでも出来なかったら一緒に悩めたらと想います。ご迷惑だったらすみません。

  • @donave909
    @donave909 Před 2 lety +2

    まず,Windowsにpythonを入れるハードルが高い。

  • @user-lx2ur5yk1d
    @user-lx2ur5yk1d Před 3 lety +1

    officeオンラインでできますか??

    • @imanyu_programming
      @imanyu_programming  Před 3 lety

      やったことがないのでわかりませんが、できない気がします!

    • @user-lx2ur5yk1d
      @user-lx2ur5yk1d Před 3 lety +1

      @@imanyu_programming ですよね…
      ありがとうございます!

  • @ピザこそチーズそのもの

    声がジャパネット感が

  • @user-uo6do2ph5f
    @user-uo6do2ph5f Před 3 lety +6

    素直にVBAでよくね・・・?
    エクセル作業をやるってことは、会社のケースが多い。
    会社にpythonなんて入ってる企業なんてほぼ皆無だし

    • @imanyu_programming
      @imanyu_programming  Před 3 lety +1

      講座出しておいて言うのもあれですが、VBAで良いと思います!!
      Pythonは他にも応用が利く言語であることが最大の強みかなと!!!

    • @user-wf7wn8bg7g
      @user-wf7wn8bg7g Před 2 lety +1

      VBA。。32bit前提でしか、DB接続し難いので嫌い。。Jenkinsともクソのように愛想が悪い(一々、エクセルを開きに行こうとするので、Jenkins内でエラーで落ちる。プラグインで回避とかくそめんどい)。。と、コードがクソのように読みにくい。。
      でも使っちゃうw簡単に使えるし。
      pythonの方が楽なんだけどね。。まぁ、これからでしょうな~一般企業でpython3系を入れていい様になるのは。

  • @bitaminsumatch
    @bitaminsumatch Před 3 lety +2

    初心者な質問です。動画→27:40辺りに関して
    ご教示お願い致します。
    df = pd.DataFrame()
    for filepath in filepaths:
    _df = extract(filepath)
    print(filepath)
    df = pd.concat([df,_df])
    上記を入力すると、下記エラーがでます。なぜでしょうか?
    /content/drive/My Drive/エクセル操作用/請求書_12月_株式会社ABC.xlsx
    /content/drive/My Drive/エクセル操作用/請求書_11月_XYZ株式会社.xlsx
    /content/drive/My Drive/エクセル操作用/請求書_10月_TTTInc.xlsx
    ---------------------------------------------------------------------------
    IndexError Traceback (most recent call last)
    in ()
    2
    3 for filepath in filepaths:
    ----> 4 _df = extract(filepath)
    5 print(filepath)
    6 df = pd.concat([df,_df])
    4 frames
    /usr/local/lib/python3.7/dist-packages/pandas/core/indexing.py in _validate_key(self, key, axis)
    1365 # check that the key does not exceed the maximum size of the index
    1366 if len(arr) and (arr.max() >= len_axis or arr.min() < -len_axis):
    -> 1367 raise IndexError("positional indexers are out-of-bounds")
    1368 else:
    1369 raise ValueError(f"Can only index by location with a [{self._valid_types}]")
    IndexError: positional indexers are out-of-bounds

    • @user-xr6gw1zy3g
      @user-xr6gw1zy3g Před 2 lety +1

      21:48あたりのdef extract(filepath): 以降が上手く定義出来て無いのではないかと思います。

  • @user-kz1vg8tj8x
    @user-kz1vg8tj8x Před rokem +2

    glob2.globで ファイルが loadされません エラーに も ならず 書くかっこが 表示されるだけ で 対処の 方法を 教えて下さい データは 左の ディレクトリに あります
    お願いします