【Python】PandasでCSV出力するときの、ヘッダーとインデックス

 

CSVの入出力なら、Pandasが便利です。
表データを扱うライブラリです。

もしも、まだインストールしていないという方でしたら、こちらの記事でインストール手順を参考にしてみてください。

【Python】pipコマンドでライブラリをインストールする手順

 

CSV出力時は、次のようにto_csv関数を使います。

to_csv関数の書き方

データフレーム.to_csv(ファイル名, encoding = 文字エンコーディング, index = False, header = False)

ヘッダーやインデックスを付ける場合、付けない場合、読み込んだCSVを出力する場合について、簡単なソースコードで紹介します。

ヘッダーやインデックスのオプションを指定せず出力した場合

to_csv関数のオプション(header, index)を付けない場合、ヘッダーやインデックスなしで出力されます。

次のソースコードでは、10行3列分の配列をデータフレームに格納して、dataフォルダのexport_data_list.csvファイルに出力しています。

 

出力されたCSVファイルを開いてみると、ヘッダーとインデックスが付いていることが分かります。

インデックスを付けない場合

インデックスを表示しない場合のオプションは、
index = False です。

 

Falseの「F」は大文字ですので、小文字にしないよう注意してください。

保存されたCSVファイルを開いたところ、インデックスは消えてくれました。
ヘッダーは相変わらず付いています。

ヘッダーを付けない場合

インデックスを表示しない場合のオプションは、
header = False です。

インデックスとヘッダーどちらも表示しないよう指定します。

 

インデックスの場合と同様に、Falseの「F」は大文字ですので、小文字にしないよう注意してください。

出力されたCSVファイルを開き、ヘッダーもインデックスも付いていないことを確認できました。

読み込んだCSVファイルを出力するときの、ヘッダーとインデックス

配列に値を格納してCSV出力した例では、ヘッダーは「,1,2,3」と付いていました。
日本語などで既にヘッダーとして文字列が記載されているCSVファイルを読み込んでから、出力する場合はどうでしょうか。

CSVファイルの読み込みについては、こちらの記事で書いています。

【Python】Pandasを使ってCSVファイルを読み込む方法

そのまま出力

気象庁のオープンデータを使って紹介します。

出典:気象庁|「最新の気象データ」CSVダウンロード データ部掲載内容(1、3、6、12、24、48、72時間降水量)
最新のCSVファイル

 

データ量が多くて見づらくなるので、東京都の行、一部の列を抜き出しました。
まずはオプション無しでCSV出力です。

 

保存されたCSVファイルを確認したところ、ヘッダーもインデックスも付いていました。
もともと北海道から順にデータが並んでいるCSVファイルだったので、東京都の行のインデックスは途中の511から始まっています。
ヘッダーは「,1,2,3・・・」のような番号ではなく、読み込んだCSVファイル内のヘッダー名となりました。

ヘッダー、インデックス無しで出力

こんどはヘッダーもインデックスもつけずに出力します。

オプションは、index = Falseと header = False。
Falseの「F」だけ大文字になっている点に注意してくださいね。

 

保存されたCSVファイルを開いたところ、ヘッダーもインデックスも付いていないことを確認できました。

まとめ:Pandasのto_csvを使うときの、ヘッダーとインデックス

CSVファイルにヘッダーやインデックスを出力しないとき、付けるオプションはこれです。
index = Falseと header = False。

順番はどちらが先でも出力できました。
注意点なども書いていますので、参考にしてみてくださいね。