to_csvでCSV,TSVファイルを書き込む / Python Pandas
基本形
以下の方法で、簡単に読み込むことが可能です。
df.to_csv('test.csv', encoding='utf8', index=False)
サンプル
プログラム
import pandas as pd
# テストデータ DataFrameを作成する
df = pd.DataFrame( {'No':[1,2,3], 'Type':['いぬ','ねこ','すずめ'], 'Voice':['わん','にゃん','ちゅん'] })
# CSVを保存する
df.to_csv('test.csv', encoding='utf8', index=False)
作成されたデータ
No,Type,Voice
1,いぬ,わん
2,ねこ,にゃん
3,すずめ,ちゅん
パラメータ
エンコーディング 、 encoding
パラメータは書込みたいファイルの種類に合わせてください。
よく使うencoding
codec | 説明 |
---|---|
utf8 | 今、最もよく使われているユニコード系エンコーディング |
cp932 | MS-Windows版の拡張されたShift-JIS |
shift_jis | 一般的案Shift-JIS、Windows等拡張された文字は書込めない |
utf_8_sig | UTF8のBOM付、WindowsのExcel向けに出力するときに重宝する |
df.to_csv('test.csv', encoding='utf8' , index=False)
df.to_csv('test.csv', encoding='cp932' , index=False)
df.to_csv('test.csv', encoding='shift_jis', index=False)
df.to_csv('test.csv', encoding='utf_8_sig', index=False)
インデックスを保存 、 index
他のサンプルですと、index=Falseを指定しているものが多いですが、ここではあえて外します。
import pandas as pd
# テストデータ DataFrameを作成する
df = pd.DataFrame( {'No':[1,2,3], 'Type':['いぬ','ねこ','すずめ'], 'Voice':['わん','にゃん','ちゅん'] })
# CSVを保存する
df.to_csv('test.csv', encoding='utf8')
index=False 有り
No,Type,Voice
1,いぬ,わん
2,ねこ,にゃん
3,すずめ,ちゅん
index=False 無し
左に欄が1つ追加されます。
例えばIndexがDatetimeだったり重要な値の場合はindex=Falseを登録する必要があります。
,No,Type,Voice
0,1,いぬ,わん
1,2,ねこ,にゃん
2,3,すずめ,ちゅん
指定したカラムだけCSVに保存する、columns
あえてNo以外のTypeとVoiceを指定してみます。
import pandas as pd
# テストデータ DataFrameを作成する
df = pd.DataFrame( {'No':[1,2,3], 'Type':['いぬ','ねこ','すずめ'], 'Voice':['わん','にゃん','ちゅん'] })
# CSVを保存する
df.to_csv('test.csv', encoding='utf8', index=False, columns=['Type', 'Voice'])
No欄以外がCSVに保存されています。
Type,Voice
いぬ,わん
ねこ,にゃん
すずめ,ちゅん
ヘッダーを消す、header
ヘッダーを消す場合header=False
import pandas as pd
# テストデータ DataFrameを作成する
df = pd.DataFrame( {'No':[1,2,3], 'Type':['いぬ','ねこ','すずめ'], 'Voice':['わん','にゃん','ちゅん'] })
# CSVを保存する
df.to_csv('test.csv', encoding='utf8', index=False, header=False)
ヘッダーが消えます
1,いぬ,わん
2,ねこ,にゃん
3,すずめ,ちゅん
TSVファイル(タブ区切り)ファイルなどで保存する、sep
パラメータsepのデフォルトはCSV向けの,(カンマ)ですが、
カンマ以外のセパレータも指定可能です。
TSVの場合sep=’\t’となる。(\t)はタブを意味します。
英語環境と日本語環境で\の表示が変わります。
¥:日本語環境
\:英語完了
まれに日本語環境でも、英語環境と同じ\が表示される場合があります。(フォントに依存します)
import pandas as pd
# テストデータ DataFrameを作成する
df = pd.DataFrame( {'No':[1,2,3], 'Type':['いぬ','ねこ','すずめ'], 'Voice':['わん','にゃん','ちゅん'] })
# CSVを保存する
df.to_csv('test.csv', encoding='utf8', index=False, sep='\t')
結果
No Type Voice
1 いぬ わん
2 ねこ にゃん
3 すずめ ちゅん
日時の表示フォーマット、date_format
import pandas as pd
# テストデータ DataFrameを作成する
df = pd.DataFrame( {'Timestamp':['2020/1/10 1:2:4','2020/1/11 11:31:14','2020/01/12 12:6:24'],
'Type':['いぬ','ねこ','すずめ'],
'Voice':['わん','にゃん','ちゅん'] })
# Timestamp の型をdatetime型に変換する
df['Timestamp'] = pd.to_datetime(df['Timestamp'], format='%Y/%m/%d %H:%M:%S')
# CSVを保存する
df.to_csv('test.csv', encoding='utf8', index=False, date_format='%Y-%m-%d %H:%M')
Timestamp,Type,Voice
2020-01-10 01:02,いぬ,わん
2020-01-11 11:31,ねこ,にゃん
2020-01-12 12:06,すずめ,ちゅん
関連
CSVファイルの読込 read_csv
CSVファイルの保存 to_excel
Python - Pandas徹底解説
おすすめ記事
read_csvでCSV,TSVファイルを読み込む / Python Pandas
競馬とかのOdds計算をPythonでしてみる
MMDのVMD形式をPythonで読込む
画像ファイル読込、書込み imread、imwrite - OpenCV、Python徹底解説
Django テンプレート 使用 #1
Unityでキャラクターを動かす(左右&前進加速)
Supponsered
もっとPythonを学びたいなら
Python徹底解説
Python - OpenCV徹底解説
外部サイト
↓プログラムを学んでみたい場合、学習コースなどもおすすめです!