#はじめに
仕事中にいくつかのエクセルファイルに欲しいデータが散らばっていて、何度も何度もエクセルを開きなおすということがめんどくさいな~と思って、なんかいい方法ないかな?の解として辞書型配列を使ってみました。
#1.辞書型配列とは
配列のインデックスは従来数値で表されます。
辞書型とは、インデックスに数値ではなく文字を指定できる変数の型です。(自分の理解では)
コード上では、辞書型のインデックスのことをkey、それに対する値をvalueと書くことが多いです。
(実際の辞書では、調べたい文字がkeyになりその語句の意味がvalueということになる。)
#2.宣言の仕方
※要注意:配列とめっちゃ似てます!!
list=[] #リスト
dict={} #辞書型
続いて、keyと値の設定方法です。
dict={a:apple,b:banana,c:corn} #辞書型の宣言時にkey,valueを設定
"key" "value"
a apple
b banana
c corn
他にも、宣言済の辞書型配列にkeyとvalueの組を追加することもできます。
dict={} #空の辞書型配列を宣言
key=A
value=Ace
dict[key]=value #keyがA,valueがAceを追加
また、keyの削除も可能。
dict={} #空の辞書型配列を宣言
key=A
value=Ace
dict[key]=value
del dict[key] #keyがAの要素を削除(keyとvalueの両方が削除される)
一つのkeyに対して、複数のvalueを紐付けることも可能。
(→keyにlistを紐付ける)
dict={} #空の辞書型配列を宣言
key=A
value=[One,Two,Three]
dict[key]=value #keyがA,valueがAceを追加
#3.複数のエクセルシートからデータを形成
ある列または行の値が共通のエクセルシートを用意する。ここでは二つのエクセルシートを考え、これをそれぞれX、Yで表す。XとYのA列は共通の値とする(keyがA列の要素となる)。
エクセルシートから値を取り出す方法については、Pythonでエクセルデータを扱う!で紹介。
Xに存在する欲しいデータをX_want、Yに存在する欲しいデータをY_wantとする。
これをkey=A列として紐付ける。
dict={} #空の辞書型配列を宣言
key="A列の要素"
value=[X_want,Y_want]
dict[key]=value #keyがA列の要素で,それに対応する異なるエクセルから持ってきた値がvalue
この操作を行うことで、Python上では二つのエクセルがマージされ、あたかも一つのファイルを扱っている風になる。
#4.おわりに
複数のエクセルから必要なデータを引っ張ってくるという事をしてみました。なんとなく複数データベースから値をとってくるってこんな感じなのかなっていう、雰囲気を感じることが出来ました。データベース構築とか管理とかいつかは挑戦したいなとおもいました!!