Pandasにてexcelやcsv出力時に特定の列のみを書き出す方法【Jupyternotebook(python)】

スポンサーリンク
Python3
スポンサーリンク

Jupyternotebookにてpythonを使いこなすためにには、さまざまな処理方法を理解しておく必要があります。

たとえば、csvやExcelデータをpandasにて読み込み、一部の行や列のみをcsvやexcelファイルとしたい出力したいケースではどのように対処するといいのか理解していますか。

ここではpython(pandas)において、csvやexcelデータを読み込んだ後に、一部の行や列をexcelやcsvで書きだす(出力する)方法について解説していきます。

スポンサーリンク

Pandasにてexcelファイルを読み込み、一部の列のみをexcel出力する方法【jupyternotebook(python)】

まず、excelファイルとして以下のようなデータがあるとします。

このexcelファイルをpandasで取り込む方法の詳細はこちらに記載していますが、以下のようなコードを入れるだけでデータフレームに読み込むことができます。

(なお最初に2行はディレクトリをエクセルファイルがおいてある場所に移動するコードを入れています。詳しくはこちらで解説しています。)

import os
os.chdir(“C://sample”)
import pandas as pd
df = pd.read_excel(“sample2.xlsx”,encoding=”SHIFT_JIS” )

さらに、この中から「time」と「temperture」というラベル名の列のみを抽出させたexcelファイルを出力したいのであれば、以下のコードを追加するといいです。

df.to_excel((r’C:\sample\row1.xlsx’),index=None,columns=[‘time’, ‘temperture’],encoding=”utf-16″)

ここで()内の最初の項はexcelファイルを置くディレクトリを指定しているといえます。なお、index=Noneによってインデックスラベルの消去、columns=~で抽出する列の指定を行っているのです。

最後のエンコーディングで、出力できる形式への変換をしています。すると、以下のよう指定したフォルダ内にデータが置かれていることが確認できました。

さらに、中身を確認していくと、特例の列のみのexcelデータを抽出できていることがわかります。

なお、ヘッダーも削除させた特定の列のexcelでの書き込み(出力)では、header=noneというコードも間に入れることで解決します。以下通りです。

import os
os.chdir(“C://sample”)
import pandas as pd
df = pd.read_excel(“sample2.xlsx”,encoding=”SHIFT_JIS” )
df.to_excel((r’C:\sample\row2.xlsx’),index=None,header=None,columns=[‘time’, ‘temperture’],encoding=”utf-16″)

これで数値のみのヘッダーが消えた指定列のexcelファイルの出力ができました。

ラベルの名前を変更(指定)して、excelデータの一部の列を抽出する【pandas】

さらには、ラベル名を変えつつ、特定の列のみのexcel出力を行う方法について確認していきます。

以下でヘッダーの指定の部分にて、ラベル名を指定すると、その通りのヘッダーとなった特定の列を抽出したexcel出力が実行できるのです。

import os
os.chdir(“C://sample”)
import pandas as pd
df = pd.read_excel(“sample2.xlsx”,encoding=”SHIFT_JIS” )
df.to_excel((r’C:\sample\row5.xlsx’),index=None,header=[‘one’, ‘two’],columns=[‘time’, ‘temperture’],encoding=”utf-16″)

Pandasにてcsvファイルを読み込み、一部の列のみをcsv出力する方法【jupyternotebook(python)】

なお、

・csvを読み込んでexcelの一部の列を出力
・csvを読み込みcsv出力
・excelを読み込みcsv出力

でも同じように対処すればいいです。

以下では例として、csvデータからcsvデータの一部を出力する方法について確認します。

import os
os.chdir(“C://sample”)
import pandas as pd
df = pd.read_csv(“sample3.csv”,encoding=”SHIFT_JIS” )
df.to_csv((r’C:\sample\row4.csv’),index=None,columns=[‘time’, ‘temperture’],encoding=”utf-16″)

 

まとめ excelやcsv出力時に特定の列のみを出力(書き出す)方法【Jupyternotebook(python)】

ここでは、pythonにおけるexcelやcsv出力時に一部の列のみの出力を行う方法ついて確認しました。

ポイントとしては、excel出力のコードの中を抽出したいように変化させることです。

Jupyternotebookでの操作に慣れ、より効率よい操作を目指していきましょう。

 

 

スポンサーリンク
Python3
スポンサーリンク
life-freedom888をフォローする
スポンサーリンク
ウルトラフリーダム

コメント

タイトルとURLをコピーしました