Personal tools
You are here: Home Lights on Zope ExcelのデータをPyExceleratorを使って読む
« November 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    
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 trackbacks
シャネル財布激安 シャネル財布激安 2017-11-21
シャネルバッグコピー シャネルバッグコピー 2017-11-14
ブランドコピー ブランドコピー 2017-11-14
スーパーコピー代引き スーパーコピー代引き 2017-11-11
ウブロスーパーコピー ウブロスーパーコピー 2017-11-11
スーパーコピーブランド激安通販専門店シャネルバッグコピー品 スーパーコピーブランド激安通販専門店シャネルバッグコピー品 2017-11-08
ブランド財布コピー ブランド財布コピー 2017-11-07
ルイヴィトンダミエバッグコピー ルイヴィトンダミエバッグコピー 2017-11-07
ブランドスーパーコピー ブランドスーパーコピー 2017-11-06
ルイヴィトン 財布カンコク コピー ルイヴィトン 財布カンコク コピー 2017-11-05
エルメスバーキンバッグ エルメスバーキンバッグ 2017-11-01
ジェイコブ時計 ジェイコブ時計 2017-10-31
ブランドコピー激安販売通販 ブランドコピー激安販売通販 2017-10-30
偽ブランド時計 偽ブランド時計 2017-10-30
 
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: