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中单元格的内容返回 ...
随机推荐
- IE兼容性问题汇总【持续更新中】
问题:IE8/9不支持Array.indexOf 解决方案 if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(elt ...
- Angular 基础入门
简介 什么是AngularJS 一个功能非常完备的前端框架,通过增强HTML的方式提供一种便捷开发Web应用程序的方式 其核心特点就是几乎无任何DOM操作,让开发人员的精力和时间全部集中于业务 MVC ...
- Java对象序列化剖析
对象序列化的目的 1)希望将Java对象持久化在文件中 2)将Java对象用于网络传输 实现方式 如果希望一个类的对象可以被序列化/反序列化,那该类必须实现java.io.Serializable接口 ...
- Rafy 框架 - 幽灵插件(假删除)
Rafy 框架又添新成员:幽灵插件.本文将解释该插件的场景.使用方法.原理. 场景 在开发各类数据库应用系统时,往往需要在删除数据时不是真正地删除数据,而只是把数据标识为'已删除'状态.这些数 ...
- .Net语言 APP开发平台——Smobiler学习日志:如何快速实现地图定位时的地点微调功能
Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 二.地点微调代码 VB: Dim ...
- C#开发微信门户及应用(3)--文本消息和图文消息的应答
微信应用如火如荼,很多公司都希望搭上信息快车,这个是一个商机,也是一个技术的方向,因此,有空研究下.学习下微信的相关开发,也就成为计划的安排事情之一了.本系列文章希望从一个循序渐进的角度上,全面介绍微 ...
- java 的持久化和序列化的简单理解
1.对象的持久化(Persistence) 对象持久化就是让对象的生存期超越使用对象的程序的运行期.将对象存储在可持久保存的存储介质上,在实际应用中,运用相应的对象持久化框架,将业务数据以对象的方式保 ...
- jdk链表笔记
LinkedList LinkedList是双链表,并且有头尾指针 数据结构 public class LinkedList extends AbstractSequentialList implem ...
- Atitit.异步编程技术原理与实践attilax总结
Atitit.异步编程技术原理与实践attilax总结 1. 俩种实现模式 类库方式,以及语言方式,java futuretask ,c# await1 2. 事件(中断)机制1 3. Await 模 ...
- 利用BI搭建零售业数据信息平台
某百货公司是全市规模最大的以零售为主.多元化经营的股份制商业企业.拥有员工数千人,经营国内外品牌2300余种,年商品销售额逾10亿人元. 销售体量如此庞大的企业近几年在IT建设上出现了问题,集团内部的 ...