LoginSignup
7
6

More than 3 years have passed since last update.

Pandasでよくやる処理まとめ1 (CSV、Excelファイル関連操作)

Posted at

そろそろ業務でPandasを使いそうな気配がしてきているので
何番煎じか分からないけど、よく使う処理をまとめてみたいと思います。
※動作検証には、Pandasのバージョン0.25.1を使用しています。

CSVファイルから読み込む場合

import pandas as pd

# ファイル名:sample.csv
# 以下、ファイルの中身を記載
# 1,サンプル太郎,30
# 2,サンプル花子,25
# 3,サンプル二郎,28
df = pd.read_csv('sample.csv', 
                 # Noneだとヘッダーなし、数値を指定するとその行をヘッダーと解釈する
                 header=None, 
                 # インデックスにするカラムを指定する ※ここでは、先頭のカラム(1,2,3の部分)
                 index_col=0, 
                 # カラム名を定義する
                 names=('name', 'age'),
                 # カラムのデータ型を定義する
                 dtype={'name': str, 'age': int}
                )

Excelファイルから読み込む場合

import pandas as pd

# ファイル名:sample.xlsx
# ※ファイルの内容は上記のCSVファイルと同じ
df = pd.read_excel('sample.xlsx', 
                   dtype={'name': str, 'age': int}
                  )

Excelファイルから複数シートを同時に読み込む場合

※データ分析よりは、Pandasを使ってツールを作りたいときに知ってると便利

import pandas as pd

excel_book = pd.ExcelFile('sample.xlsx')

# 読み込んだシートのシート名の一覧がリストで取得出来る
sheet_name_list = excel_book.sheet_names

# シート名を指定すると、そのシートの内容が取得出来る
df = excel_book.parse('sheet1')

データフレームの内容をCSVファイルに出力する場合

import pandas as pd

# 第一引数は出力ファイル名
df.to_csv('sample.csv', 
          # ヘッダーが不要の場合に、Falseを設定する
          header=False, 
          # インデックスが不要の場合に、Falseを設定する
          index=False, 
          # 出力するカラムを制限する場合に設定する
          columns=['name']
         )

データフレームの内容をExcelファイルに出力する場合

import pandas as pd

# 第一引数は出力ファイル名
df.to_excel('sample.xlsx', 
          # ヘッダーが不要の場合に、Falseを設定する
          header=False, 
          # インデックスが不要の場合に、Falseを設定する
          index=False, 
          # 出力するカラムを制限する場合に設定する
          columns=['name']
         )
7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6