python读取excel一例-------从工资表逐行提取信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python读取excel一例-------从工资表逐行提取信息相关的知识,希望对你有一定的参考价值。

      在工作中经常要用到python操作excel,比如笔者公司中一个人事MM在发工资单的时候,需要从几百行的excel表中逐条的粘出信息,然后逐个的发送到员工的邮箱中。人事MM对此事不胜其烦,终于在某天请我吃了一碗烩面,于是我给她编写了一个小工具,用python程序读出excel的信息,然后自动发送到员工邮箱中。本着开源分享的原则,我把代码贴出来供有需要的人使用,因为发邮件的部分读取的是公司邮箱的通讯录,所以对程序进行了阉割,只贴出读取excle的部分。如果你用的是类似126或腾讯企业邮箱之类的公共邮局,那么网上已经有很多从中读取通讯录并自动发送邮件的代码。

     python读取excle有很多第三方类库可以使用,本人用的是xlrd 0.7.1版本,python版本为2.7.9。因为不再发送邮件,所以读出的信息在控制台输出,同时保存一份到文件中。

话不多说,上代码:

 1 # -*- coding: gbk -*-
 2 import xlrd
 3 import sys
 4 from datetime import date,datetime,time
 5 
 6 reload(sys)
 7 sys.setdefaultencoding(gbk)
 8 
 9 data = xlrd.open_workbook(test1.xls)
10 table = data.sheet_by_index(0)
11 file_object = open(log.txt,a+)
12 
13 nrows = table.nrows
14 ncols = table.ncols
15 
16 
17 for row  in range(2,nrows):
18     name=table.cell(row,1).value
19     print 尊敬的+name+:\\n    感谢您为公司做出的辛苦努力,以下是您9月份的工资信息,如有疑问请与人资联系。
20     file_object.write( 尊敬的+name+:\\n    感谢您为公司做出的辛苦努力,以下是您9月份的工资信息,如有疑问请与人资联系。)
21     print -------+name+--------
22     file_object.write(\\n-------+name+--------\\n)
23     for col in range(ncols):
24         cell = table.cell(row,col).value
25         h1=table.cell(0,col).value
26         h2=table.cell(1,col).value
27         ctype=table.cell(row,col).ctype
28         if ctype==1:
29            print h1+h2+":"+cell
30            file_object.write(h1+h2+":"+cell+"\\n")
31         elif ctype==3:
32             d=datetime(*xlrd.xldate_as_tuple(cell,0))
33             print h1+h2+":"+d.strftime("%Y-%m-%d")
34             file_object.write(h1+h2+":"+d.strftime("%Y-%m-%d")+"\\n")
35         else:
36            print h1+h2+":"+str(cell)
37            file_object.write(h1+h2+":"+str(cell)+"\\n")
38     print -------end--------
39     file_object.write(-------end--------\\n)
40 
41 file_object.close()
文件中使用的excel文件格式如下:
技术分享

部分运行结果截图:

技术分享


附件中包括此文件的程序代码和使用的excel文件,以及xlrd安装程序。

gongzi.rar





以上是关于python读取excel一例-------从工资表逐行提取信息的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Pandas 从 Excel 中读取某些列 - Python

如何从python中的excel文件中读取日期?

python入门之后须掌握的知识点(excel文件处理+邮件发送+实战:批量化发工资条)

Python实用技巧:从Excel读取数据并绘制成图像

python实例:从excel读取股票代码,爬取股票信息写到代码后面的单元格中

xlrd实现从excel文件读取数据