#Pythonでpandasを試す
Pythonたいがい便利だが、pandasを使いこなすと便利さ倍増のような
ホワイトカラーの生産性相当向上できそう
CSVやExcelなどを、あたかもRDBのように扱える
もちろん。それだけじゃないんだろうけど
簡単な例を作ってみた
###利用データ
Python3でcsv処理あれこれテスト
と同じくテストデータは、上場企業一覧のCSVを
カブサポさんより配布されているものを入手し、利用する。
https://kabusapo.com/stock-data/stock-list/
###ソースコード
pandas_sample.py
#pandas sample
import pandas as pd
#上場企業リストcsvを、pandasで読み込み
#cmp_sheet = pd.read_csv("stocklist.csv",encoding="utf-8-sig", dtype=str) #キーを文字列にするにはこちら
cmp_sheet = pd.read_csv("stocklist.csv",encoding="utf-8-sig")
print(cmp_sheet)
#概要の確認
print('dataframeの行数・列数の確認==>\n', cmp_sheet.shape)
print('indexの確認==>\n', cmp_sheet.index)
print('columnの確認==>\n', cmp_sheet.columns)
print('dataframeの各列のデータ型を確認==>\n', cmp_sheet.dtypes)
#特定列の検索
cmp_dic = cmp_sheet[cmp_sheet['銘柄コード'] == 1431].to_dict(orient='list')
#orient='list'でdictに変換して、銘柄名を表示
print(str(cmp_dic['銘柄名'][0]))
#queryメソッドを使うと、複数条件の指定で、特定カラムだけ出力もできる
cmp_dic = cmp_sheet.query('銘柄コード > 9000 and 銘柄コード < 9005' ).to_dict(orient='list')
print(cmp_dic)
print(type(cmp_dic))
#文字列に対して、含む検索
cmp_dic = cmp_sheet[cmp_sheet['銘柄名'].str.contains("鉄道")].to_dict(orient='list')
print(cmp_dic)
#条件を変数に代入して検索
#この例では、銘柄コード(証券コード)で検索して、銘柄名を表示する。
sec_code = "7267"
cmp_dic = cmp_sheet.query('銘柄コード == @sec_code').to_dict(orient='list')
print(cmp_dic['銘柄名'][0])