Personal tools
You are here: Home Lights on Zope ExcelのデータをPyExceleratorを使って読む
« May 2017 »
Su Mo Tu We Th Fr Sa
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
Recent entries
Python Anywhere seko 2016-11-19
帯状疱疹 seko 2016-11-18
Chromebook購入 seko 2016-11-03
マカロニさん めざせデータサイエンティスト seko 2016-11-02
脳波計muse 購入 seko 2016-09-04
フェルデンクライスメソッド227回目  seko 2016-08-27
EXCELマクロ タスクが残っていてTypeNameとShell.Applicationを使って起動済みのIEが探せない seko 2016-04-19
pythonでNITE 化学物質総合情報提供システムへアクセス seko 2016-04-19
Raspberry Pi 3で侵入者を発見 seko 2016-04-03
Raspberry Pi 3 OSのインストール seko 2016-04-02
Docker コンテナをexportするpythonスクリプト seko 2016-03-31
Effective Python ―Pythonプログラムを改良する59項目 seko 2016-03-30
確かな力が身につくPython「超」入門 鎌田 正浩 (著) seko 2016-03-29
pythonでバブルソート seko 2016-03-24
Recent comments
Sir Auron disse:Olá best car insurance australia 2017-05-27
Oui je crois que j'a ceylinco insurance vehicle yard 2017-05-27
Haaaa mais c’e auto insurance austin tx 2017-05-27
Måste bara berätta add a car progressive 2017-05-27
Boa tarde,tenho expe glenham insurance 2017-05-27
a little help from t low cost auto insurance in nj 2017-05-27
Hola Jose, la vuelta what is the insurance on a smart car 2017-05-27
Hylla ble jo kjempef guess insurance 2017-05-27
Could anyone please car insurance mobile hairdresser 2017-05-27
>Jag har fyndat en h washington state auto insurance 2017-05-27
De jó! Mondtad már jeep patriot cost 2017-05-27
N. B. Pourquoi ne pa first hardtop convertible 2017-05-27
AnónimoÉ bem p auto insurance at walmart 2017-05-27
Hej Julie,Ja, du kan excluded means 2017-05-27
Recent trackbacks
カルティエ 結婚指輪 文字数 カルティエ 結婚指輪 文字数 2017-05-08
オメガ 一覧 オメガ 一覧 2017-05-06
『必笑小咄のテクニック』 米原万里 じゅうのblog 2016-04-26
まんが 哲学入門 天竺堂の本棚 2014-02-24
史上最強の哲学入門 東洋の哲人たち 天竺堂の本棚 2014-02-19
「本屋さんで待ち合わせ」三浦しをん 粋な提案 2013-10-01
PythonでCPUの数を調べる。 ヲドリテヒヅル 2012-12-03
ぼくはお金を使わずに生きることにした 紹介 感想 わかめになりたい 2011-12-02
au の HTC EVO がなかなか良かった話 tdtshのブログ 2011-05-25
逆転経済の反響 世界一のバイヤーになってみろ!!坂口孝則の本棚と雑文 2010-12-27
Who Moved My Cheese? 大学生の気ままな書評 おすすめ和書・洋書! 2010-10-30
sekoさんちからPOSTがあったけど・・・ PapaBlog 2010-09-12
Squid(キャッシュサーバーモード)を試してみる PapaBlog 2010-08-25
Apache 2.2のキャッシュ機能を使ってみる PapaBlog 2010-08-08
 
Document Actions

ExcelのデータをPyExceleratorを使って読む

by seko posted at 2008-03-16 16:22 last modified 2008-03-16 16:33

OpenOfficeのCalcを使ってエクセルファイルをpythonで操作する件は、fgshunさんにお任せして、私の方は、PyExcelerator でExcelファイルを読むのに挑戦してみます。
参考にさせていただいたサイト
seraphyの日記
迷走航路@hatena


読み込むファイルは次のようなもので、シート2枚からなっています。
pyexcel.jpg







取り込んでみます。
>>> import pyExcelerator
>>> sheets = pyExcelerator.parse_xls('foo1.xls')
>>> sheets
[(u'test1', {(0, 1): u'B1', (0, 0): u'A1', (2, 1): 20, (2, 0): 10, (2, 2): 30.0, (1, 0): u'A2', (1, 1): u'B2', (4, 0): u'A5'}), (u'test2', {(0, 1): u'\u307f\u304b\u3093', (0, 0): u'\u308a\u3093\u3054', (0, 2): u'\u3070\u306a\u306a'})]
すごく簡単です。データはシートごとにタプルになっています。シートの中では、ひとつ目がシート名、二つ目には辞書形式で座標と値が入っています。これはpythonレシピブック125:巨大で疎な配列を使う という技ですね。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pyExcelerator

sheets = pyExcelerator.parse_xls('foo1.xls')
for sheet_name, values in sheets:
print 'sheet =', sheet_name
print '------------'
for row_idx, col_idx in sorted(values.keys()):
v=values[row_idx,col_idx]
print row_idx,col_idx,v
次のような結果になります。
>>> 
sheet = test1
------------
0 0 A1
0 1 B1
1 0 A2
1 1 B2
2 0 10
2 1 20
2 2 30.0
4 0 A5
sheet = test2
------------
0 0 りんご
0 1 みかん
0 2 ばなな

大変お手軽なのですが、A1セルとA2セルの値の合計をA3セルに書き込むというような場合はどうすればいいんでしょうか?

Category(s)
python
EXCEL
The URL to Trackback this entry is:
http://lightson.dip.jp/blog/seko/1570/tbping
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)


Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: