( New ) 新連載スタート!2人の会話形式でPythonを学ぶ「週末Pythonゆる講座」はこちら ▶▶

【Python】to_csv|CSVにデータを書き込む方法

DataFrameをCSVに書き込む

PythonのDataFrameのデータをCSVに書き込むにはto_csv()をいます

Pythonでは分析・加工したデータをCSVに書き込むことができます

最終的にCSVでデータを共有することもできますし、セッション切れによるデータの消失を防ぐこともできます

事前準備

Pandas」というデータ解析を実施できるライブラリをインポートします 

import pandas as pd

※サンプルデータ:学校のテストの点数

学校のイメージ
student_data.head()
学校のテストデータのイメージ

to_CSVの使い方

変数.to_csv('ファイルパス/ファイル名.csv')

to_csv()メソッドの()カッコの中にパスを指定すると、ファイルが存在しない場合は新規作成、ファイルが存在している場合は上書き保存されます

ファイル名に拡張子(.csv)を付けるのを忘れずに

例として「学校のデータ(student_data)」のデータを「output」という名前でCSVとして保存します

student_data.to_csv('/content/drive/MyDrive/Python/output.csv')
student_data.to_csv('/content/drive/MyDrive/Python/output.csv')

パラメータ

おすすめ度を判定:★★★=必須|★★☆=推奨|★☆☆=任意

★★★:ファイルパス/ファイル名

student_data.to_csv('/content/drive/MyDrive/Python/output.csv')

ファイルパス/ファイル名は必須で記載しましょう

★★☆:encoding(文字コード)

student_data.to_csv('/content/drive/MyDrive/Python/output.csv',
                    encoding='utf-8')

CSVには文字コードというものがあり、エクセルで開いたときに文字化けしていしまう原因がこれです

デフォルトでは「utf-8」という文字コードで出力されます

このような「文字化け」を防ぐためには、「encoding=’SHIFT-JIS’」を設定しましょう

Pythonの文字化け結果

★★☆:sep(区切り文字)

student_data.to_csv('/content/drive/MyDrive/Python/output.csv',
                    sep='\t')

区切り文字も設定することができます

デフォルトでは「’,’」カンマ区切りになりますが、「’\t’」タブ区切りでも設定することができます

カンマ区切りとタブ区切りの例

★★☆:index(インデックス)

student_data.to_csv('/content/drive/MyDrive/Python/output.csv',
                    index=True)

デフォルトでは「index=True」でインデックスありで書き出されますが、「index=False」にするとインデックスなしで出力されます

インデックスはCSVでは使わないことが多いので、「False」の設定をお勧めします

下記は「index=False」にした結果です

※分かりにくいですが、インデックス(0,1,2,3…)が無くなり、「生徒番号」から始まっています

インデックスがないCSV

★☆☆:header(ヘッダー)

student_data.to_csv('/content/drive/MyDrive/Python/output.csv',
                    header=True)

デフォルトでは「header=True」でヘッダーありで書き出されますが、「False」にするとヘッダー(カラム)なしで出力されます

下記は「header=False」にした結果です

※こちらも分かりにくいですが「カラム」が消えています

カラム名が無いCSV

まとめ

今回はPythonで分析・加工したデータをCSVへ出力するto_csv()メソッドについてご紹介してきました

分析の過程でデータ出力・読み込みすることで、セッション切れによるデータの消失を防ぐことができます

お気に入り登録お願いします

コメントを残す

メールアドレスが公開されることはありません。