Personal tools
You are here: Home Lights on Zope ExcelのデータをPyExceleratorを使って読む
« June 2018 »
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
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
познакомлюсь с парнем ярославль loveawake.ru 2018-06-22
Richard chose Shopt Race Paper Corp richglowee 2018-05-24
скачать песню блэк бакарди Barryflact 2018-05-16
Срочно Требуются сотрудники! Fidelhic 2018-05-05
Деньги теперь не проблема. Hollydenly 2018-04-25
познакомлюсь с мужчиной от 45 до 55 loveawake.ru 2018-03-29
Mark joins Dissertation Advise Band markormann 2018-03-26
Лучшее в 2018 без Медицины KevinCound 2018-03-23
Лучшее в 2018 без Медицины KevinCound 2018-03-23
Лучшее в 2018 без Медицины KevinCound 2018-03-23
Лучшее в 2018 без Медицины KevinCound 2018-03-23
Лучшее в 2018 без Медицины KevinCound 2018-03-23
Укладка ламината и паркета AlexanderawasH 2018-03-22
познакомлюсь с мужчиной старше 50 лет loveawake.ru 2018-03-18
Recent trackbacks
honda motorcycles missoula honda motorcycles missoula 2018-05-21
toyota repair missoula toyota repair missoula 2018-05-21
missoula audi missoula audi 2018-05-20
subaru repair near me subaru repair near me 2018-05-19
missoula volkswagen repair missoula volkswagen repair 2018-05-18
UGG靴 韓国 コピー UGG靴 韓国 コピー 2018-03-11
時計コピー 時計コピー 2018-02-27
ブランドコピー ブランドコピー 2017-12-08
スーパーコピー代引き スーパーコピー代引き 2017-12-08
ブランド時計コピー ブランド時計コピー 2017-12-08
エルメス偽物 エルメス偽物 2017-12-08
S品シャネル S品シャネル 2017-12-08
ブランド長財布コピー ブランド長財布コピー 2017-12-08
スーパーコピー スーパーコピー 2017-12-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: