こんにちは~
Pythonでエクセルやcsvを自動で編集できたら仕事が楽になると思うので、色々プログラムを作成しています。
今回は、特定の列や値を抜き出す方法を学習したので記事にしました。
この記事が誰かの役に立ったら幸いです。
特定の列を抜き出す
概要
まず最初に特定の列を抜き出す大体の概要を記載したいと思います。
↓のようなサンプルを用意して、A列だけを抜き出そうと思います(B~H列を削除する)
完成図は↓みたない感じにしたいと思います。
Pythonのコード
列を抜き出すPythonのコードを説明します。
import pandas as pd df = pd.read_csv('./test.csv', encoding='shift-jis') df2 = df['test1'] print(df2) df2.to_csv('./output.csv',header=True,index=False)
↓の文でcsvを横見込み、dfと定義します。
df = pd.read_csv(‘./test.csv’, encoding=’shift-jis’)
dfからA列だけ抽出するためにヘッダーのtest1を↓のように記載してdf2と定義します。
これだけでやりたいこと(A列だけ抽出する)ができます。
df2 = df[‘test1’]
↑の状態でprint(df2)すると↓のようにA列がindex付きで出力されていることが確認できます。
このdf2を↓のコードでcsvに保存します。
df2.to_csv(‘./output.csv’,header=True,index=False)
indexは邪魔なので削除するために、index=Falseと書きます。
(header=Falseと書けばヘッダーのtest1を削除することができます。今回は残したかったのでheader=Trueと書いておきました)
これで特定の列を抜き出す方法の説明は終わりです!
簡単でした。
特定の値を抜き出す
列の抜き出しを行ったので、次は特定の値で抜き出してみたいと思います。
概要
先ほど使用したcsvファイルを使用します。
ここから、5~8の数字だけ抜き出してみます。
↓見たい感じにします。
Pythonコード
特定の値を抜き出すコードを説明します。
import pandas as pd df = pd.read_csv('./output.csv', encoding='shift-jis') df2 = df[((df['test1'] <= 8) & (df['test1'] >= 5))] print(df2) df2.to_csv('./output2.csv',header=True,index=False)
↓の文でcsvを横見込み、dfと定義します。
df = pd.read_csv(‘./output.csv’, encoding=’shift-jis’)
↓の文で、dfは5以上8以下と定義します。
df2 = df[((df[‘test1’] <= 8) & (df[‘test1’] >= 5))]
あとは先ほどの行と同じようにcsvに保存して終わりです。
これも簡単にできました!
以上になります。
まとめ
5行程度のプログラムで、簡単にcsvを編集することができました。
業務効率化に役立ちそうですね。
ではまた!
コメント