ゆきばた のBlog

備忘録と備忘録。あと備忘録。

Pandas の ファイル書き込みサンプル一覧

DataFrame のデータを各種ファイルに書き出すサンプルと
そのオプションをまとめる。

こんな感じのデータを書き込んでいく

No team Number name kana position born
1 Swallows 1 Yamada 山田 内野手 1992/7/16
2 Eagles 3 Asamura 浅村 内野手 1990/11/12
3 Carp 4 Kikuchi 菊池 内野手 1990/3/11
4 Giants 6 Sakamoto 坂本 内野手 1988/12/14
5 Fighters 8 Kondo 近藤 外野手 1993/8/9
6 Carp 51 Suzuki 鈴木 外野手 1994/8/11
7 Giants 10 Kobayashi 小林 捕手 1989/6/7
8 Eagles 11 Kishi 投手 1984/12/4
9 Baysters 19 Yamasaki 山崎 投手 1992/10/2
10 Buffaloes 43 Yamamoto 山本 投手 1998/8/17

まずは基本形

df_data.to_csv('./output/baseball.csv')
f:id:yukibata:20200727230432p:plain
オプション指定なし

 

「ファイル形式」を指定したい

csvファイル

df_data.to_csv('./output/baseball.csv')

tsvファイル

df_data.to_csv('./output/baseball.tsv', sep='\t')

excelファイルに書き出し

df_data.to_excel('./output/baseball.xlsx', sheet_name='players')

※ sheet_name を省略すると Sheet1 で書き出し

「文字コード」を指定したい

UTF-8

df_data.to_csv('./output/baseball.csv', encoding='utf_8')

shift-jis

df_data.to_csv('./output/baseball.csv', encoding='shift_jis')

cp932

df_data.to_csv('./output/baseball.csv', encoding='cp932')

 

「行」の操作をしたい

header なし(カラム名なし)

df_data.to_csv(
    './output/baseball.csv',  # ファイル名
    header=False              # header なし
)
f:id:yukibata:20200727231647p:plain
元のファイル
f:id:yukibata:20200727231703p:plain
heaerなしファイル

 

「列」の操作をしたい

index なし

df_data.to_csv(
    './output/baseball.csv',  # ファイル名
    index=False               # header なし
)
f:id:yukibata:20200727231935p:plain
元のファイル
f:id:yukibata:20200727231948p:plain
indexなしファイル

 

追記モードで出力したい

追記モードで出力

df_data.to_csv(
    './output/baseball.csv',  # ファイル名
    header=False,             # header なし
    mode='a'                  # 追記モード
)

※ header=False を指定しないと header も追記される
※ デフォルトは mode='w' (上書き)