• 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+':
        感谢您为公司做出的辛苦努力,以下是您9月份的工资信息,如有疑问请与人资联系。'
    20     file_object.write( '尊敬的'+name+':
        感谢您为公司做出的辛苦努力,以下是您9月份的工资信息,如有疑问请与人资联系。')
    21     print '-------'+name+'--------'
    22     file_object.write('
    -------'+name+'--------
    ')
    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+"
    ")
    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")+"
    ")
    35         else:
    36            print h1+h2+":"+str(cell)
    37            file_object.write(h1+h2+":"+str(cell)+"
    ")
    38     print '-------end--------'
    39     file_object.write('-------end--------
    ')
    40 
    41 file_object.close()
    文件中使用的excel文件格式如下:

    部分运行结果截图:


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

    gongzi.rar
  • 相关阅读:
    pthread_mutex_init函数与pthread_mutexattr_init函数
    DPDK收发包全景分析
    Linux Bond的原理及其不足
    Cisco VPP启动流程
    组网基础之深入解析二层组播
    vpp命令总结
    全面挖掘Java Excel API 使用方法
    MySQL的varchar定义长度到底是字节还是字符
    MYSQL 用户管理
    MySql中的变量定义
  • 原文地址:https://www.cnblogs.com/deartear/p/6074389.html
Copyright © 2020-2023  润新知