本サイトは広告・プロモーションが含まれています
Python

【pandas】CSVファイルの上書き保存

理系の社会人の方や学生の方は
仕事や研究で、データを取り扱っているとcsvファイルの整理をすることも多々あるかと思います。

そんな時に使用することをおすすめしたいのが、pandasというライブラリです。
Pythonのデータ分析ライブラリであるpandasは、csvファイルの読み込み、編集、保存などの操作を簡単に行うための強力なツールです。



この記事では、pandasを使用してcsvファイル読み込み、編集した後に上書き保存する方法について説明します。

今回のお題

origin.csvというファイルを用意して、中のデータは以下の写真のようにしました。


このcsvファイルから
ヘッダー(1番上の行)がb~cの列を削除して上書きするコードを書いていきます。

コード

インストール


pandasを使用するためには、まずpandasをインストールし、Pythonスクリプト内でインポートする必要があります。
以下のコマンドを使用して、pandasをインストールします。

pip install pandas

csvの読み込み


まず、 csvファイルをpandasのデータフレームとして読み込みます。pandasのread_csv()メソッドを使用して、csvファイルを読み込むことができます。

以下は、基本的なコードです。

import pandas as pd  

#読み込み
df = pd.read_csv("origin.csv")


origin.csvは読み込むCSVファイルのパスです。データフレームはdfという変数に格納されます。

データの編集


データフレームを編集して必要な変更を加えます。

col_deleted = df.drop(df.columns[1:3], axis="columns")


列の範囲削除では
df.drop(df.columns[削除したい最初の行:削除したい最後の行+1], axis=”columns”)

と記述します。

Pythonではよくpandasに限らず、範囲指定の際に最後の数字は+1するのが慣例になってますね。

上書き保存


編集が完了したら、pandasを使用して編集済みのデータフレームをcsvファイルに上書き保存します。

to_csv()メソッドを使用することで、データフレームをcsvファイルに保存することができます。
以下は、上書き保存するための基本的なコードです。

col_deleted.to_csv("origin.csv", index=False)


origin.csvは保存するcsvファイルのパスです。
読み込むcsvと同じ名前にすることで上書き保存できます。


index=Falseは、インデックスをCSVファイルに保存しないことを意味します。インデックスを保存したい場合は、index=Trueに設定します。

コードをひとまとめにするとこんな感じです。

import pandas as pd    

def main():
    df = pd.read_csv("origin.csv")
    col_deleted = df.drop(df.columns[1:3], axis="columns")
    col_deleted.to_csv("origin.csv", index=False)

if __name__ == "__main__":
    main()

おわりに


以上が、pandasを使用してCSVファイルを上書き保存する方法の概要です。
非常に柔軟なライブラリなので、データの編集や保存に便利な機能が数多くあります。


自分は社会人になってからpnadasを使い始めたのですが(学生時代はnumpyばっかり)
pandasをかなり使うようになりました。
それだけ取り組む課題(仕事)の幅も広がったということですが。


最近は、yfinance, pandas, 便利な画像系ディープラーニングの手法を探すのにハマつつあります。
幅広い分野のデータを手軽に楽しめるのがPythonのいいところですよね。



おすすめのPythonの勉強方法はUdemyを使った勉強です。
自分のPCへの環境構築から教えてくれたり、どうしたらプログラミングしやすくなるかまで
教えてくれるのでおすすめです。

受講生感謝セール. 対象コースが¥1,500から


ここまで読んでいただき、ありがとうございました。
七夕も終わり、梅雨明けもあと少しですね。

ここからどんどん暑くなり、工場は地獄のような環境になりますが
体調に気をつけて頑張っていきましょう。

それでは。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA