








Pythonでエクセルを操作する第一歩
イメージをつかもう
今回用意するフォルダやファイル構成とプログラム実行結果を先にお見せします。
▶フォルダ構成
フォルダ・・・psychology test
ファイル(書き出し用)・・・output.xls
ファイル(読み込み用)・・・心理テスト_kimura.xlsx、心理テスト_satou.xlsx、心理テスト_suzuki.xlsx、心理テスト_tanaka.xlsx、心理テスト_yoshida.xlsx
▶ファイルの内容
ご覧のとおりエクセルシートに簡単な心理アンケートがあります。
書式は統一されており、すべてのファイルに同様の心理アンケートを用意しています。
このアンケート情報をすべてPythonで読み込み、以下のようにoutputファイルに書き出します。
使えるライブラリをインストールしよう
▶今回使うライブラリ
xlrd・・・エクセルファイルを読み込む
tablib・・・エクセルファイルに書き込む

pip install xlrd
pip install tablib
コードを書いてみよう
ライブラリをインストールできたら、早速コードを書いていきましょう。
import glob,xlrd,tablib headers = ('実施日','氏名','質問1','質問2','質問3','質問4','質問5', '質問6','質問7','質問8','質問9','質問10') data = [] for file in glob.glob(r"C:\Users\ユーザー名\Desktop\psychology test\*.xlsx"): book = xlrd.open_workbook(file) s = book.sheet_by_index(0) data.append([s.cell_value(0, 2),s.cell_value(0, 3), s.cell_value(2, 1),s.cell_value(3, 1),s.cell_value(4, 1), s.cell_value(5, 1),s.cell_value(6, 1),s.cell_value(7, 1), s.cell_value(8, 1),s.cell_value(9, 1),s.cell_value(10, 1), s.cell_value(11, 1)]) output = tablib.Dataset(*data, headers = headers) open('output.xls', 'wb').write(output.xls)
コードの解説
import glob,xlrd,tablib
インストールしたライブラリのxlrd,tablibをインポートします。
globについては後述します。
みなさん、こんにちはケンケンです。 Pythonの基本をお送りしています。 前回は、for文と条件分岐の基本をお伝えしました。 前回の記事は以下をご覧ください。 [sitecard subtitl[…]
headers = (‘実施日’,’氏名’,’質問1′,’質問2′,’質問3′,’質問4′,’質問5′, ‘質問6′,’質問7′,’質問8′,’質問9′,’質問10’)
data = []
みなさん、こんにちはケンケンです。 Pythonの基本事項をお伝えしています。 今回は、リストとタプルについてお話しします。 データをまとめておいておく大きな箱のようなものです。 これをうまく使い[…]
for file in glob.glob(r”C:\Users\ユーザー名\Desktop\psychology test\*.xlsx”):
みなさん、こんにちはケンケンです。 今回は、ファイルやフォルダを操作して、ファイル名一覧を作成したりファイルに記述されているデータを取得してシートに転記する方法をご紹介します。 実務で無数のファイルと格闘して[…]
book = xlrd.open_workbook(file)
s = book.sheet_by_index(0)
data.append([s.cell_value(0, 2),s.cell_value(0, 3), s.cell_value(2, 1),s.cell_value(3, 1),s.cell_value(4, 1), s.cell_value(5, 1),s.cell_value(6, 1),s.cell_value(7, 1), s.cell_value(8, 1),s.cell_value(9, 1),s.cell_value(10, 1), s.cell_value(11, 1)])
みなさん、こんにちはケンケンです。 Pythonの基本事項をお伝えしています。 今回は、リストとタプルについてお話しします。 データをまとめておいておく大きな箱のようなものです。 これをうまく使い[…]
output = tablib.Dataset(*data, headers = headers)
open(‘output.xls’, ‘wb’).write(output.xls)
まとめ
いかがですか。
Pythonでもエクセルファイルやシートの操作が可能なのがお分かりいただけたと思います。
しかも、ライブラリを使うと10数行でコードが書けてしまいます。
このようにPythonでは様々なライブラリを駆使することでサクッとコードを書いて自動化することが可能なので、
これからプログラミング学んでみたいという方にもやさしい言語かと思います。
今回、使ったライブラリより強力なものも存在するかもしれないですし、おそらく存在します。
それらをコツコツ調べてご自分に合うライブラリを見つけて是非活用してください。
それでは、また次回お会いしましょう。
Python基礎を紹介した記事一覧
【Python基礎編】プログラミング初心者がPythonを学んだ方が良い理由【インストールから簡単なプログラムまで】
【Python基礎編】データをうまく出力するには型にはめることが重要【データの型・演算子・関数を知る】
【Python基礎編】もし好きな動物を連れて行けたらあなたの選択は?【if文で条件分岐をマスター】
【Python基礎編】ペンギンを仲間にするためには三顧の礼では失礼なのか【for文で繰り返し処理】
【Python基礎編】人気者のペンギンでも即OKをもらえる方法【for文の続き・breakで処理を中断】
【python】組織内のごたごたは早めに解決しておきたい【リスト・タプルの使い方】
【python】動物たちに名前を聞いて親密度を高めよう【辞書】




