python读取excel一例-------从工资表逐行提取信息
在工作中经常要用到python操作excel,比如笔者公司中一个人事MM在发工资单的时候,需要从几百行的excel表中逐条的粘出信息,然后逐个的发送到员工的邮箱中。人事MM对此事不胜其烦,终于在某天请我吃了一碗烩面,于是我给她编写了一个小工具,用python程序读出excel的信息,然后自动发送到员工邮箱中。本着开源分享的原则,我把代码贴出来供有需要的人使用,因为发邮件的部分读取的是公司邮箱的通讯录,所以对程序进行了阉割,只贴出读取excle的部分。如果你用的是类似126或腾讯企业邮箱之类的公共邮局,那么网上已经有很多从中读取通讯录并自动发送邮件的代码。
python读取excle有很多第三方类库可以使用,本人用的是xlrd 0.7.1版本,python版本为2.7.9。因为不再发送邮件,所以读出的信息在控制台输出,同时保存一份到文件中。
话不多说,上代码:
# -*- coding: gbk -*-
import xlrd
import sys
from datetime import date,datetime,time reload(sys)
sys.setdefaultencoding('gbk') data = xlrd.open_workbook('test1.xls')
table = data.sheet_by_index(0)
file_object = open('log.txt','a+') nrows = table.nrows
ncols = table.ncols for row in range(2,nrows):
name=table.cell(row,1).value
print '尊敬的'+name+':\n 感谢您为公司做出的辛苦努力,以下是您9月份的工资信息,如有疑问请与人资联系。'
file_object.write( '尊敬的'+name+':\n 感谢您为公司做出的辛苦努力,以下是您9月份的工资信息,如有疑问请与人资联系。')
print '-------'+name+'--------'
file_object.write('\n-------'+name+'--------\n')
for col in range(ncols):
cell = table.cell(row,col).value
h1=table.cell(0,col).value
h2=table.cell(1,col).value
ctype=table.cell(row,col).ctype
if ctype==1:
print h1+h2+":"+cell
file_object.write(h1+h2+":"+cell+"\n")
elif ctype==3:
d=datetime(*xlrd.xldate_as_tuple(cell,0))
print h1+h2+":"+d.strftime("%Y-%m-%d")
file_object.write(h1+h2+":"+d.strftime("%Y-%m-%d")+"\n")
else:
print h1+h2+":"+str(cell)
file_object.write(h1+h2+":"+str(cell)+"\n")
print '-------end--------'
file_object.write('-------end--------\n') file_object.close()
文件中使用的excel文件格式如下:

部分运行结果截图:

附件中包括此文件的程序代码和使用的excel文件,以及xlrd安装程序。 gongzi.rar
python读取excel一例-------从工资表逐行提取信息的更多相关文章
- Python读取Excel数据并根据列名取值
一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...
- python 读取excel数据并将测试结果填入Excel
python 读取excel数据并将测试结果填入Excel 读取一个Excel中的一条数据用例,请求接口,然后返回结果并反填到excel中.过程中会生成请求回来的文本,当然还会生成一个xml文件.具体 ...
- 利用xlrd模块实现Python读取Excel文档
# -*- coding: cp936 -*- #python读取excel import xlrd def main(): xls=xlrd.open_workbook("d:\\11.x ...
- Python读取excel 数据
1.安装xlrd 2.官网 通过官网来查看如何使用python读取Excel,python excel官网: http://www.python-excel.org/ 实例: (1)Excel内容 把 ...
- python读取excel所有数据(cmd界面)
python读取excel所有数据(cmd界面) cmd界面显示excel数据 代码 import xlrd import os from prettytable import PrettyTable ...
- Python读取Excel表格
前言:需要进行自动化办公或者自动化测试的朋友,可以了解下此文,掌握Python读取Excel表格的方法. 一.准备工作: 1.安装Python3.7.0(官网下载安装包) 2.安装Pycharm(官网 ...
- [转] Windows下使用Python读取Excel表格数据
http://www.python-excel.org/这个网站罗列了很多关于在Python下操作Excel文件的信息,这里选择了其介绍的第一个模块xlrd . xlrd 0.9.2版本跨平台同时支持 ...
- Python读取excel中的图片
作为Java程序员,Java自然是最主要的编程语言.但是Java适合完成大型项目,对于平时工作中小的工作任务,需要快速完成,易于修改和调试,使用Java显得很繁琐,需要进行类的设计,打成jar包,出现 ...
- python读取excel中单元格的内容返回的5种类型
(1) 读取单个sheetname的内容. 此部分转自:https://www.cnblogs.com/xxiong1031/p/7069006.html python读取excel中单元格的内容返回 ...
随机推荐
- 响应式图片菜单式轮播,兼容手机,平板,PC
昨天在给自己用bootstrap写一个响应式主业模版时想用一个图片轮播js,看到了bootstrap里面的unslider.js,只有1.7k,很小,很兴奋,但使用到最后发现不兼容手机,当分辨率变化的 ...
- iOS: 为画板App增加 Undo/Redo(撤销/重做)操作
这个随笔的内容以上一个随笔为基础,(在iOS中实现一个简单的画板),上一个随笔实现了一个简单的画板: 今天我们要为这个画板增加Undo/Redo操作,当画错了一笔,可以撤销它,或者撤销之后后悔了, ...
- JSP 9大内置对象详解
一.内置对象特点: 1.由JSP规范提供,不用编写者实例化. 2. 通过Web容器实现和管理 3.所有JSP页面均可使用 4.只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%> ...
- 跨平台运行 Rafy 首次部署记录
一直想在 Linux 上使用 MONO 试试运行 Rafy,最近因为业务需要,总算是真正地试验了一次.下面是本次部署记录的一些要点. Linux 这次部署,我是和两位同事一起来试验的.由于我们对 Li ...
- 运用css,对于下拉菜单的制作
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <met ...
- Java的内存分配
java内存分配 A:栈 存储局部变量 B:堆 存储所有new出来的 C:方法区(方法区的内存中) 类加载时 方法信息保存在一块称为方法区的内存中, 并不随你创建对象而随对象保存于堆中; D:本地方法 ...
- Scala Macros - 元编程 Metaprogramming with Def Macros
Scala Macros对scala函数库编程人员来说是一项不可或缺的编程工具,可以通过它来解决一些用普通编程或者类层次编程(type level programming)都无法解决的问题,这是因为S ...
- 用大白话聊聊JavaSE -- 如何理解Java Bean(一)
首先,在开始本章之前,先说一个总的概念:所谓的Java Bean,就是一个java类,编译后成为了一个后缀名是 .class的文件.这就是Java Bean,很多初学者,包括当年的我自己,总是被这些专 ...
- 实现一个基于 SharePoint 2013 的 Timecard 应用(中)
门户视图 随着 Timecard 列表的增多,如何查找和管理这许多的 Timecard 也就成了问题.尤其对于团队经理而言,他除了自己填写的 Timecard,还要审核团队成员的 Timecard 任 ...
- ArrayList、Vector、LinkedList的区别联系?
1.ArrayList.Vector.LinkedList类都是java.util包中,均为可伸缩数组. 2.ArrayList和Vector底层都是数组实现的,所以,索引数据快,删除.插入数据慢. ...