PythonのプログラムでCSVファイルを読み込む時に良く使うのが、Pandasモジュールのread_csv関数です。よくサンプルプログラムなどで見かける書き方はこんな感じですね。
import pandas as pd
df = pd.read_csv('./iris.csv')
そんなread_csvさんにまつわるエトセトラです。
インターネット上のファイルを直接読み込む
PCのファイルだけでなく、URLを指定して直接インターネットにあるファイルも読み込めてしまいます。例はGithubのPandasのirisデータセットです。
url = 'https://github.com/pandas-dev/pandas/raw/master/pandas/tests/data/iris.csv'
df = pd.read_csv(url)
指定した行数だけ読み込む
長めのファイルをちょっと読み込みたい時に便利です。
df = pd.read_csv(url, nrows=10)
読み込む列や型を指定する
特定の列だけの読み込みが可能です。
df = pd.read_csv(url, usecols=['SepalLength', 'SepalWidth'])
型を指定しての読み込みも可能です。
df = pd.read_csv(url, usecols=['SepalLength', 'SepalWidth'], dtype={'SepalLength': float, 'SepalWidth': float})
# 型の確認
df.dtypes
Excelファイルを読み込む
Excelからも読み込めちゃいます。read_csvさんの友人のread_excelさんの登場です。xlrdモジュールが必要なのでインストールしておきましょう。
pip install xlrd
使い方はread_csvさんと同じです。さすが友人。
dfx = pd.read_excel('iris.xlsx')
CSVファイルに書き込んだり
読み込んだら書き込みたくなるのが人情ですもんね。
クリップボードにコピー
こんな命令もあるんですねー。わざわざ選択してコピーする手間が省けます。
dfx.to_clipboard()
CSVファイルへの書き込み
to_csvさんを使います。指定したファイルパスに保存されます。
dfx.to_csv('iris_out.csv')
printで囲うとcsvにした結果が画面に表示されます。
print(dfx.to_csv())
Excelファイルへの書き込み
Excelから読み込んだら、そりゃ書き込みたくなりますもんね。to_excelさんを使います。openpyxlモジュールが必要なのでインストールします。
!pip install openpyxl
使い方はto_csvと同様です。
dfx.to_excel('iris_out.xlsx')
ふつーに最新のOffice365のExcelファイル読み込めてびっくりした。さすがです。