LoginSignup
1
2

More than 3 years have passed since last update.

【Python】Pythonで複数のエクセルシートのデータを一括処理

Posted at

はじめに

仕事中にいくつかのエクセルファイルに欲しいデータが散らばっていて、何度も何度もエクセルを開きなおすということがめんどくさいな~と思って、なんかいい方法ないかな?の解として辞書型配列を使ってみました。

1.辞書型配列とは

配列のインデックスは従来数値で表されます。
辞書型とは、インデックスに数値ではなく文字を指定できる変数の型です。(自分の理解では)

コード上では、辞書型のインデックスのことをkey、それに対する値をvalueと書くことが多いです。
(実際の辞書では、調べたい文字がkeyになりその語句の意味がvalueということになる。)

2.宣言の仕方

※要注意:配列とめっちゃ似てます!!

code.py
list=[] #リスト
dict={} #辞書型

続いて、keyと値の設定方法です。

code.py
dict={a:apple,b:banana,c:corn} #辞書型の宣言時にkey,valueを設定
"key"    "value"
  a       apple
  b       banana
  c       corn

他にも、宣言済の辞書型配列にkeyとvalueの組を追加することもできます。

code.py
dict={} #空の辞書型配列を宣言
key=A 
value=Ace 
dict[key]=value #keyがA,valueがAceを追加

また、keyの削除も可能。

code.py
dict={} #空の辞書型配列を宣言
key=A 
value=Ace 
dict[key]=value 
del dict[key] #keyがAの要素を削除(keyとvalueの両方が削除される)

一つのkeyに対して、複数のvalueを紐付けることも可能。
(→keyにlistを紐付ける)

code.py
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列として紐付ける。

code.py
dict={} #空の辞書型配列を宣言
key="A列の要素" 
value=[X_want,Y_want] 
dict[key]=value #keyがA列の要素で,それに対応する異なるエクセルから持ってきた値がvalue

この操作を行うことで、Python上では二つのエクセルがマージされ、あたかも一つのファイルを扱っている風になる。

4.おわりに

複数のエクセルから必要なデータを引っ張ってくるという事をしてみました。なんとなく複数データベースから値をとってくるってこんな感じなのかなっていう、雰囲気を感じることが出来ました。データベース構築とか管理とかいつかは挑戦したいなとおもいました!!

1
2
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
1
2