2021年2月3日水曜日

ファイル読み込み - pandas - python

■インポート


import pandas as pd
 以降の呼び出し簡略化のため「pd」と名前を付ける

■Excelファイル


・ファイルを指定

df = pd.read_excel('ファイルパス')

print(df)

#出力
#    col1 col2 col3
# 0     1    a    あ
# 1     2    b    い
# 2     3    c    う
 ファイルパスだけ指定すると一番左のシートが読み込まれる
 1行目が列名になり、インデックスは自動で付けられる

・シートを指定

df = pd.read_excel('ファイルパス', sheet_name='シート名')
sheet_name=でシート名を指定

・その他の指定

#読み込み開始行を指定(0始まり)
df = pd.read_excel('ファイルパス', header=1)

#読み込み行数を指定(列名を除く)
df = pd.read_excel('ファイルパス', nrows=2)

#読み込み列を指定
df = pd.read_excel('ファイルパス', usecols=['列名1','列名2',・・・])
header=Noneとすると1行目から値になる
 その場合、列名は自動付与(0,1,2,・・・)

■CSVファイル


・ファイルを指定

df = pd.read_csv('ファイルパス')

print(df)

#出力
#    col1 col2 col3
# 0     1    a    あ
# 1     2    b    い
# 2     3    c    う
.read_csvはデフォルトだとutf-8で読み込む

df = pd.read_csv('ファイルパス', encoding='cp932')
 エラーになる場合はencoding=でファイルに合った文字コードを指定
 ※cp932shift-jisと同じ

・その他の指定

#読み込み開始行を指定(0始まり)
df = pd.read_csv('ファイルパス', header=1)

#読み込み行数を指定(列名を除く)
df = pd.read_csv('ファイルパス', nrows=2)

#読み込み列を指定
df = pd.read_csv('ファイルパス', usecols=['列名1','列名2',・・・])

#型を指定(列全てに適応)
df = pd.read_csv('ファイルパス', dtype=str)

#区切り文字を指定
df = pd.read_csv('ファイルパス', sep='\t')
sep=で区切り文字を変更できる(デフォルトはカンマ(,))
TSVファイルの場合はsep='\t'と指定

0 件のコメント:

コメントを投稿