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
时间: 2024-07-30 13:49:56

python读取excel一例-------从工资表逐行提取信息的相关文章

python读取excel文件(xrld模块)

Python读取excel文件 一.python  xlrd模块 安装 mac 下安装python  xlrd模块 http://www.crifan.com/python_read_excel_xls_file_xlrd/comment-page-1/ python setup.py install 在mac 下出现的错误是 http://stackoverflow.com/questions/18199853/error-could-not-create-library-python-2-7

python读取excel表格生成sql语句 第一版

由于单位设计数据库表·,都用sql.不知道什么原因不用 powerdesign或者ermaster工具,建表很痛苦  作为程序猿当然要想办法解决,用Python写一个程序解决 需要用到 xlrd linux下 sudo pip install xlrd 主要是适用于db2数据库 excel 表结构 其中 number是不正确的字段类型 不知道同事为啥这么设置.这里程序里有纠错,这个程序就是将sql语句拼好. __author__ = 'c3t' # coding:utf-8 import xlr

利用xlrd模块实现Python读取Excel文档

# -*- coding: cp936 -*- #python读取excel import xlrd def main(): xls=xlrd.open_workbook("d:\\11.xls") try: mysheet=xls.sheet_by_name("Sheet1")#找到名为Sheet1的工作表.区分大小写 except: print("没有此工作表") return print("共有 %d 行, %d 列."

Python读取excel中的图片

Python读取excel中的图片文件,并转成base64 import sys import os import xlrd import zipfile import base64 class ExcelImgRead(object): def change_file_name(self, file_path, old_name, new_type = '.zip'): """ 修改指定目录下的文件类型名 :param file_path: :param old: :par

python 读取 excel文件

python读取excel文件的链接都是从这里获取的: http://blog.csdn.net/longshen747/article/details/17194259 http://www.cnblogs.com/yanzhi123/archive/2012/04/16/2452214.html 上个示例的代码: import xml.etree.ElementTree as ETimport xlwtimport os path = "D:/Cai_Bishe/xml/"prin

Python 读取 excel 文件

现在大部分数据都是存储在excel中或直接调取数据库,作为刚刚自学Python的小白来说怎么读取文件还是比较懵的,现在对Python读取excel文件进行了一些整理: #coding=utf-8 #cmd中进行安装xlrd库 pip install xlrd import xlrd #文件路径,要用/而不是\ file_path = r'C:/Users/mingli.zhao/Desktop/七天.xlsx' #中文转码 #file_path = file_path.decode('utf-8

Python:读取Excel表格时出现的u'\u51c6’ 无法正确显示汉字

读取Excel后,想显示其中一行的元素,结果读出来是这样[u'\u51c6\u8003\u8bc1\u53f7', u'\u8003\u751f\u59d3\u540d'],始终不显示正常的汉字 依照网上的方法直接print()即可输出,试验后发现确实可以,不过一次只能输出一个元素,多余一个元素则依旧 后查找得知解决方法:需要用到json库 1 import json 2 #……文件的读取略去 3 #json.dumps(A).decode("unicode-escape") 4 #这

Python读取Excel,日期列读出来是数字的处理

Python读取Excel,里面如果是日期,直接读出来是float类型,无法直接使用. 通过判断读取表格的数据类型ctype,进一步处理. 返回的单元格内容的类型有5种: ctype: 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error ctype =sheet1.cell(iRow,iCol).ctype 参考示例如下: 1.准备一个Excel文件,文件名Book1.xlsx 从第2行的第1列开始向右,分别是2019年的7月的1.2.3

用python库openpyxl操作excel,从源excel表中提取信息复制到目标excel表中

现代生活中,我们很难不与excel表打交道,excel表有着易学易用的优点,只是当表中数据量很大,我们又需要从其他表册中复制粘贴一些数据(比如身份证号)的时候,我们会越来越倦怠,毕竟我们不是机器,没法长时间做某种重复性的枯燥操作.想象这样一个场景,我们有个几千行的表要填,需要根据姓名输入其对应的身份证号,但之前我们已经做过一个类似的表,同样的一些人的姓名跟身份证号是完整的,那么我们就需要通过一个个查找姓名,然后把身份证号码复制到我们当前要做的表里去. 当我日复一日重复着这些操作的时候,我都很想有