Hatena::Groupfukuoka-py

tshpaper.py

2011-12-22

pythonでエクセルを操作する

19:03

エクセルで管理している情報をtrac wikiに反映したい~

ということで、以下作りました。

使用しているmoduleは、

openpyxl です。


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

# xlsxファイルを読み込むモジュール
from openpyxl.reader.excel import load_workbook

# オブジェクトの型を判断するためのモジュール
from types import *


# ファイルを読み込む
wb = load_workbook(filename = r'test.xlsx')

# シートを選択
# wb.get_sheet_by_name(name = "シート名")でも選択可能
# 日本語とか記号とか入ると面倒そうだったので、以下の方法で選択
ws0 = wb.worksheets[0]


for cellid in range(0,100):
    # ws0.cell(A1)といった指定も可能
    # ws0.range('A1:D5')といった指定も可能
    # 今回は、行と列を指定する方法でやってます
    c1 = ws0.cell(row = cellid, column = 1)
    c2 = ws0.cell(row = cellid, column = 4)
    c3 = ws0.cell(row = cellid, column = 6)
    c4 = ws0.cell(row = cellid, column = 7)
    c5 = ws0.cell(row = cellid, column = 8)

    # 値が入っていない場合、encodeしたときに怒られるので
    # NoneTypeの場合に'-'を変わりに入力するためのif文
    val1 = '-' if type(c1.value) is NoneType else c1.value
    val2 = '-' if type(c2.value) is NoneType else c2.value
    val3 = '-' if type(c3.value) is NoneType else c3.value
    val4 = '-' if type(c4.value) is NoneType else c4.value
    val5 = '-' if type(c5.value) is NoneType else c5.value

    # 値をファイルに出力
    out = "||" + val1.encode('utf_8') + "||" + val2.encode('utf_8') + "||" + val3.encode(
'utf_8') + "||" + val4.encode('utf_8') + "||" + val5.encode('utf_8') + "||" + '\n'
    #out = "||" + val1.encode('euc_jp') + "||" + val2.encode('euc_jp') + "||" + val3.enco
de('euc_jp') + "||" + val4.encode('euc_jp') + "||" + val5.encode('euc_jp') + "||" + '\n'
    f = open('test.txt','a')
    f.write(out)
    f.close()

BetsyBetsy 2012/02/22 13:45 At last! Someone with the ingshit to solve the problem!

cadalbocadalbo 2012/02/23 20:30 ILQN52 <a href="http://mqaqruqqgxwb.com/">mqaqruqqgxwb</a>

pydclmpvpydclmpv 2012/02/24 01:16 2DEDkh , [url=http://lvbbftyugjrw.com/]lvbbftyugjrw[/url], [link=http://cfawbeqgxbse.com/]cfawbeqgxbse[/link], http://kjygjmxfisuq.com/

pkzougqvllcpkzougqvllc 2012/02/29 20:25 9jI6uH <a href="http://xnmqsisojpva.com/">xnmqsisojpva</a>

ukazoyusreciukazoyusreci 2017/03/20 15:16 http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

ilagwottopconilagwottopcon 2017/03/20 15:37 http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

esewemuxesewemux 2017/03/20 17:35 http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

uvapocuaiuvapocuai 2017/03/20 17:58 http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

fikoxetagfikoxetag 2017/03/21 10:37 http://usa-onlineprednisone.net/ - usa-onlineprednisone.net.ankor <a href="http://salbutamol-ventolin-buy.net/">salbutamol-ventolin-buy.net.ankor</a> http://online-viagracanada.net/

oteqibicoteqibic 2017/03/21 10:57 http://usa-onlineprednisone.net/ - usa-onlineprednisone.net.ankor <a href="http://salbutamol-ventolin-buy.net/">salbutamol-ventolin-buy.net.ankor</a> http://online-viagracanada.net/

ゲスト



トラックバック - http://fukuoka-py.g.hatena.ne.jp/tshpaper/20111222