【Python】Pandas:CSVの入出力

IT

はじめに

  • 仕事でPythonのpandasを使ったのでメモ
  • pandas
    • CSVをPythonで扱うのに使用するライブラリ
    • 簡単に扱えて便利
    • 今回は一番基本となる入出力について

CSVの入力

  • Pandasにcsvファイルを読み込む方法
  • シンプルにcsvを読んで標準出力を確認

一番シンプルな形

入力用csv

fruit, price
apple, 150
banana, 200
orange, 120

コード

import pandas as pd

# sample.csvを入力(カレントディレクトリに配置)
input_csv = pd.read_csv('./sample.csv')
# 入力したcsvを確認
print(input_csv)

結果確認

区切り文字を変えたい場合

  • 区切り文字をデフォルトから変えたい場合 → sepで設定

入力用csv

fruit:price
apple:150
banana:200
orange:120

コード

import pandas as pd

# 区切り文字を変えるとき
# デフォルトだと上手く分けられない
input_csv2_false = pd.read_csv('./sample_sep.csv')
print(input_csv2_false)

# 区切り文字を指定すると分けられる
input_csv2 = pd.read_csv('./sample_sep.csv', sep=":")
print(input_csv2)

結果確認

  • 区切り文字を":"にしてcsvを作成
    • 1個目がデフォルト指定で読み込み
    • 2個目が区切り文字指定して読み込み
      で確認した

複数の区切り文字の場合

  • 区切り文字を複数指定する場合 → sep="[〇〇]"で指定する
    • 例:カンマとコロンを区切り文字にしたい場合:sep="[,:]"

入力用csv

date,fruit:price
2022/4/1,apple:150
2022/6/1,banana:200
2022/7/1,orange:120

コード

import pandas as pd

# 複数の区切り文字の場合
input_csv3 = pd.read_csv('./sample_sep2.csv', sep="[,:]")
print(input_csv3)

実行結果

CSVの出力

一番シンプルな形

コード

import pandas as pd

# sample.csvを入力(カレントディレクトリに配置)
input_csv = pd.read_csv('./sample.csv')
# 入力したcsvを確認
print(input_csv)

# 入力したcsvをcheck.csvに出力
input_csv.to_csv('./check.csv')

結果確認

  • ヘッダとインデックスが付いてくる
    • ヘッダ/インデックスはオプションでなくせる(次節)

ヘッダーとインデックスのオプション

  • ヘッダーオプション→header = 【True or False】
  • インデックスオプション→index = 【True or False】
  • 指定しないとTrue = 付いてくる

コード

import pandas as pd

# sample.csvを入力(カレントディレクトリに配置)
input_csv = pd.read_csv('./sample.csv')
# 入力したcsvを確認
print(input_csv)

# 入力したcsvをcheck.csvに出力
# ヘッダー・インデックスを無しで出力する場合
input_csv.to_csv('./check.csv', header=False, index=False)

結果確認

おわりに

  • 今回はPandasでの入出力とオプションの使い方についてまとめました

コメント

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