使用Python处理Excel表格

给俺的boss写的一个小工具,使用Python对Excel进行统计,然后把结束生成一个新的Excel表格,使用到了xlrdpyExcelerator两个库。

简单的介绍一下这两个库,先说xlrd,这个库读Excel比较方便,各种方法使用起来也挺方便:

bk = xlrd.open_workbook(‘your.xls’)
sh = bk.sheets()[-1]
上面两句就可以打开Excel表格中的一个sheet,sheets得到的是一个list,存放所有的sheet。
sh.nrows是该sheet中的行数,知道这个后就可以使用for循环来读所有的单元格了:
sh.row(i)[3]这个就代表第i行的第4列。

再看看pyExcelerator,这个用起来有点别扭:

sheets = parse_xls(‘result.xls’)
先打开一个表格,sheets是一个list,包含了所有表格的内容,每一项就是一个sheet,而每个sheet是二元tuple,第一个是该sheet的名字,第二个是一个dict,dict的key是一个二元组,表示单元格的坐标,如(0,0),第一行第一列。
从上面的分析中可以得出要访问Excel中第一个sheet的第一行第一列元素需要:
sheets[0][1][(0,0)]
pyExcelerator也不能得到行列数。

写文件也比较简单:
wb = Workbook()
ws = wb.add_sheet(‘result’)
ws.write(0,0,“hello”)
wb.save(‘result.xls’)
就不解释了:-)

写文件时需要注意直接写Unicode内容进去,而不要写编码过的内容。

给boss的代码:

This entry was posted in Python, 编程相关 and tagged , . Bookmark the permalink.

10 Responses to 使用Python处理Excel表格

  1. Amankwah says:

    Excel格式是公开的?

  2. wind says:

    看不明白,等我能看明白了再来瞅瞅

  3. vvoody says:

    只用过 pyExcelerator 写过一个转课表的,还好用。
    嗯,编码问题当时确实我好搞了一番。

  4. 刘鑫 says:

    你比我早,嘿嘿,我正要拿Python处理Excel呢,前几天刚研究了下Excel的COM接口

  5. 草儿 says:

    靠,干嘛把地址写那么清楚啊~

  6. Kermit.Mei says:

    这个很有用,我要好好学习一下,呵呵。

  7. Pingback: Python 处理 Excel | QQRSS

  8. 小慧 says:

    这个文章不错!我刚好需要了解python操作Excel的知识。
    希望可以发更多关于python的帖子出来。

  9. 可可熊 says:

    To:小慧
    可以看看PyFetion

  10. 9命怪猫 says:

    其实,类似功能,用Excel内置的宏或者函数库就可以搞定了。
    Excel比想象中强大得多,只是大家不愿意去发掘!

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>