Personal tools
You are here: Home Lights on Zope PyExceleratorでEXCELファイルを作る
« October 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 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
台北-中和【均媄醫美診所】─台北微整形、童顏針、玻尿酸最推薦的醫美診所! JoshuaBut 2018-10-20
Binary Options Online RichardLyclE 2018-10-18
заработать деньги Matthewimpew 2018-10-17
Абай Камалов победителm премии президента Tarasnit 2018-10-17
Абай Камалов победителm премии президента Tarasnit 2018-10-16
v8htm34 TimothyMut 2018-10-16
Чернецкий Михаил Фомич Шкатов Алексей Викторович ArsenKap 2018-10-16
Абай Камалов разрабатывает уникальные программные разработки OliapaR 2018-10-16
Реклама. Health. Заработок. Work home MorrisIdove 2018-10-13
Администатору сайта Virgilcox 2018-10-12
Услуги бригады каменщиков в Санкт-Петербурге Dmitriiceach 2018-10-12
Снимите пожалуйста на нас ссылку Sergey 2018-10-09
Мобильный, выездной шиномонтаж в Москве круглосуточно! MShinom 2018-10-09
Анатолий Осьмушин г. Кунгур опрокинул жену и детей irinlow 2018-10-09
Recent trackbacks
スーパーコピー スーパーコピー 2018-09-02
スーパーコピー スーパーコピー 2017-12-08
スーパーコピー時計 スーパーコピー時計 2017-12-08
ルイヴィトン長財布 ルイヴィトン長財布 2017-12-08
ロレックス偽物激安 ロレックス偽物激安 2017-12-08
スーパーコピー腕時計 スーパーコピー腕時計 2017-12-08
ルイヴィトン偽物 ルイヴィトン偽物 2017-12-08
ルイヴィトン財布偽物 ルイヴィトン財布偽物 2017-12-08
ブランド時計コピー ブランド時計コピー 2017-12-07
ルイヴィトン2つ折財布 ルイヴィトン2つ折財布 2017-12-07
S品グッチ S品グッチ 2017-12-06
スーパーコピー スーパーコピー 2017-12-06
ルイヴィトン財布偽物 ルイヴィトン財布偽物 2017-12-01
ロレックス スーパーコピー ロレックス スーパーコピー 2017-11-30
 
Document Actions

PyExceleratorでEXCELファイルを作る

by seko posted at 2008-04-16 23:20 last modified 2008-04-19 22:53

先日は、PyExcelerator でExcelファイルを読みこんでみましたが、今日はファイルを作ってみます。
Win32COMを使って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'})]

データはシートごとにタプルになっています。シートの中では、ひとつ目がシート名、二つ目には辞書形式で座標と値が入っています。

今回作ったプロうグラムです。ファイルの生成もびっくりするほど簡単です。

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

# エクセルファイルの生成テスト
# 新しいブックを作成する。
workbook = pyExcelerator.Workbook()
# 新しいシートを作成する。
worksheet = workbook.add_sheet(u"シート1")
worksheet.write(0, 0, "orange")
worksheet.write(0, 1,345)
worksheet.write(1, 0, u"みかん")
# 保存する
workbook.save(u"テスト1.xls")

# ファイルを開いてセルのデータを取りプリントする
sheets = pyExcelerator.parse_xls('foo1.xls')
for sheet_name, values in sheets:
print '------------'
print 'sheet =', sheet_name

for row_idx, col_idx in sorted(values.keys()):
v=values[row_idx,col_idx]
print row_idx,col_idx,v

# 上で開いたファイルの内容をコピーして保存する
workbook = pyExcelerator.Workbook()
for sheet_name, values in sheets:
worksheet = workbook.add_sheet(sheet_name)
for row_idx, col_idx in sorted(values.keys()):
worksheet.write(row_idx, col_idx, values[row_idx,col_idx])
workbook.save('foo1copy.xls')

プリントの結果
------------
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 ばなな
Category(s)
python
The URL to Trackback this entry is:
http://lightson.dip.jp/blog/seko/1597/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: