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中单元格的内容返回 ...
随机推荐
- ASP.NET Core 中文文档 第三章 原理(13)管理应用程序状态
原文:Managing Application State 作者:Steve Smith 翻译:姚阿勇(Dr.Yao) 校对:高嵩 在 ASP.NET Core 中,有多种途径可以对应用程序的状态进行 ...
- 全局变量:global与$GLOBALS的区别和使用
今天在写框架的时候想把SaeMySQL初始化之后作为全局变量使用.但是后来发现PHP中的全局变量和Java或者OC中的全局变量还是有较大区别的.下面记录一下php里面的global的使用相关注意事项. ...
- 快来熟练使用 Mac 编程
熟练使用工具,可以提高一个人的做事效率- 1. iTerm2快捷键使用 ⌘ + d: 垂直分屏,⌘ + shift + d: 水平分屏. ⌘ + ]和⌘ + [在最近使用的分屏直接切换.而⌘ + op ...
- (转)SqlServer 数据库同步的两种方式 (发布、订阅),主从数据库之间的同步
最近在琢磨主从数据库之间的同步,公司正好也需要,在园子里找了一下,看到这篇博文比较详细,比较简单,本人亲自按步骤来过,现在分享给大家. 在这里要提醒大家的是(为了更好的理解,以下是本人自己理解,如有错 ...
- jsPanel插件Option总结
jsPanel插件Option总结 学习jsPanel之余对相关的选项进行了总结,便于参考. # 选项名称 类别 简要说明 1 autoclose configuration 设置一个时间在毫秒后,面 ...
- eclipse启动tomcat无法访问
eclipse启动tomcat无法访问 症状: tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错误.同时其他项目页面也不能 ...
- emoji哈哈哈哈
Unicode 官网上的FAQ令人发笑,啊哈哈哈 Q: What are the most popular emoji characters? Q: Do emoji characters have ...
- iOS开发中的数学函数
在iOS开发当中...我们往往会涉及到一些算法...为了节省一些时间...让APP很快地被开发出来...我们需要对各类函数有一定的了解...接下来...我把部分常用函数分享出来...希望能帮到大家.. ...
- Intellij idea 和android studio 代码给混淆
Intellij idea 和android studio 代码给混淆 一.指令说明-optimizationpasses 5 # 指定代码的压缩级别 -dontusemixedcaseclassna ...
- (五)什么是RDD-Java&Python版Spark
什么是RDD 视频教程: 1.优酷 2.YouTube RDD是个抽象类,全称为Resilient Distributed Datasets,是一个容错的.并行的数据结构,可以让用户显式地将数据存储到 ...