これは便利!Pythonのconcat関数でデータを追記するプログラムをつくる

    目次

    ファイルに追記していくプログラム

    既存のファイルにデータを連結したいこともあります。例えば、毎⽉や毎週など定期的にデータが送られてきて、それを連結したい場合などです。Excelで作業する場合は、現在のファイルを開き、そこに新しいデータをコピー&ペーストして上書き保存します。Pythonのプログラムでも考え⽅は同じで、現在のファイルを読み込み、そこにデータを連結して同じファイル名で保存(上書き保存)します。

    あわせて読みたい
    - YouTube YouTube でお気に入りの動画や音楽を楽しみ、オリジナルのコンテンツをアップロードして友だちや家族、世界中の人たちと共有しましょう。

    2つのExcelファイルをプログラムと同じフォルダ内に置き、プログラムを実⾏すると「⼤阪⽀店.xslx」の内容が「統合表.xslx」に連結されます。

    1つ注意が必要なのは、プログラムを実⾏するたびに「⼤阪⽀店.xlsx」が連結されるので、何回も実⾏すると重複したデータができてしまうという点です。実⾏回数に注意してください。

    サンプルファイルは下のeditボタンからダウンロード

    import pandas as pd
    
    df= pd.read_excel("統合表.xlsx")
    
    read_data=pd.read_excel("大阪支店.xlsx",engine="openpyxl")
    
    df=pd.concat([df,read_data])
    
    with pd.ExcelWriter("統合表.xlsx") as writer:
    
        df.to_excel(writer,index=False)

    read_excel関数で対象のファイルを読み込み、to_excelメソッドで保存します。

    concat関数とは

    使⽤しているのはconcat関数です。concat関数は、複数のpandasオブジェクトを結合するために使用される関数です。この関数は、行または列を追加してpandasオブジェクトを結合するために使用されます。この関数は、データフレーム、シリーズ、パネルなどのpandasオブジェクトの結合に使用できます。DataFrameオブジェクトのリストを引数に指定すると、それらを連結したDataFrameオブジェクトを返します

    近頃は資料の表がPDFで届くことも増えています。PDFは容易に書き換えされないといったリットもありますが、何かの資料に使う場合はExcelなどの形式に変換しなければいけません。今回はPythonを使ってPDFからExcelに変換する⽅法を紹介しましょう。

    このパッケージを利⽤するには、PythonのほかにJavaというプログラミング⾔語の実⾏環境も必要です。

    https://www.java.com/ja/download/

    PDFから表を抜き出すためにtabulaパッケージを使っています。

    このパッケージは標準ではインスト ー ルされないので、AnacondaNavigatorを使うか、以下のコマンドでインストールしてください。tabulaパッケージはターミナルまたはコマンドプロンプトから次のコマンドを使用してインストールできます。

    $ pip install tabula

    convert_into関数

    tabulaのconvert_into関数を使うと、PDFファイル内の表をCSVやTSV、JSON などの形式で書き出せます。 CSVで書き出したい場合は「output_format=”csv”」と指定します。また、PDFのページを指定したい場合は「pages=”1-2,3″」のように指定します。

    convert_into関数を実⾏すると、カレントディレクトリ内にCSVファイルが作成されます。それをread_csv関数で読み込み、to_excelメソッドでExcelファイルを保存します。

    DataFrameを操作する便利な関数

    PythonでExcelを操る他テクニック

    複数のファイルの文字をまとめて置き換えする

    openpyxlの使い方 Excelの差し込みがワンクリックで

    tabulaのconvert_into関数でPDFファイルをExcelに変換

    【Python】項目がバラバラなExcelファイルを一つにまとめる

    【Python】globモジュールの便利な使い方

    iterrowsメソッドで複数のファイルを1つにまとめる

    【Python】to_excelメソッドでCSVファイルをExcel形式に変換

    Pythonの開発環境をAnacondaで整える~プログラム実行まで~

    よかったらシェアしてね!
    • URLをコピーしました!
    目次