python xlwt xlrd_用xlrd和xlwt操作Excel文档
工作当中经常要操作excel文档,有些完全是纯粹的重复劳动。在我的工作中就遇到这样一个需求:
1. 存在两个excel文档(source.xls/target.xls),列数据是一致的
2. 文档source.xls的数据来源于target.xls,经常要修改source.xls文档中的数据,但是两个文档中有一列(COLUMN_INDEX)的数据只要存在就会保持不变
3. 文档target.xls已经存在一个office控件,可以从某个数据库读取数据,写回该文档
4. 数据库中的数据每天都会更新
5. 需要经常更新source.xls,将不存在该文档但存在于target.xls的数据copy过来,依据列(COLUMN_INDEX)
需求出来了,google了下,发现可以用xlrd/xlwt来操作excel文档,模块名取得挺有意思哦,根据名字看,显示xlrd用来读excel,xlwt用来写罗。至于为啥读和写会是不同的第三方包,或者是excel的数据存取比较复杂吧。
xlrd模块api文档:http://www.lexicon.net/sjmachin/xlrd.html#xlrd.Cell-class
下面是Python实现:
#!/usr/bin/env python
#coding=utf-8
'''
created by 2010-6-26
author: py_zhu
'''
import xlrd
import xlwt
SOURCE_FILE = "source.xls"
TARGET_FILE = "target.xls"
RESULT_FILE = "result.xls"
COLUMN_INDEX = 3
def readColumnIndex():
columnIndex = -1;
#read column index(from config file)
columnIndex = COLUMN_INDEX
return columnIndex
def calc():
source = set([])
target = dict()
columnIndex = readColumnIndex()
sheet = xlrd.open_workbook(SOURCE_FILE).sheet_by_index(0)
for i in range(sheet.nrows):
source.add(sheet.cell_value(i, columnIndex))
sheet = xlrd.open_workbook(TARGET_FILE).sheet_by_index(0)
for i in range(sheet.nrows):
#(cell_value, rowIndex)
target.put(sheet.cell_value(i, columnIndex), i)
for i in source:
if i in target:
del target[i]
#create new execel file
workbook = xlwt.Workbook(encoding = 'utf-8')
resultSheet = workbook.add_sheet('result_sheet')
resultRows = target.values()
for i in range(len(resultRows)):
for j in range(sheet.ncols):
resultSheet.write(i, j, sheet.cell_value(resultRows[i], j))
workbook.save(RESULT_FILE)
def main():
calc()
if __name__ == '__main__':
main()
1
顶
0
踩
分享到:
2010-06-26 22:04
浏览 7378
评论
python xlwt xlrd_用xlrd和xlwt操作Excel文档相关推荐
- 用python处理excel-使用Python操作Excel文档(一)
Python | 使用Python操作Excel文档(一) 0 前言 在阅读本文之前,请确保您已满足或可能满足以下条件: 请确保您具备基本的Python编程能力. 请确保您会使用Excel. 请确保您 ...
- 用 Python 帮运营妹纸快速搞定 Excel 文档
Microsoft Office 被广泛用于商务和运营分析中, 其中 Excel 尤其受欢迎.Excel 可以用于存储表格数据.创建报告.图形趋势等.在深入研究用 Python 处理 Excel 文档 ...
- VB中操作Excel文档
篇一:利用 Python 操作 Excel文档 利用 Python 操作 Excel 在Excel 2010中打开VBA编辑器,请按 Alt + F11 打开: 以下代码在 Excel ...
- Java web--利用java操作excel文档
在web应用程序的开发中,如果需要将Excel文档中的信息导入数据库或将数据库的信息导出到Excel文档中,需要应用程序访问Excel文件.目前,操作Excel文档的java组件主要有Jxl和POI两 ...
- Java实战—POI操作Excel文档、读取、写入、合并单元格
一.POI项目简介 POI全称 Poor Obfuscation Implementation,利用POI接口可以通过JAVA操作Microsoft office 套件工具的读写功能.官网:http: ...
- 使用MFC自动化操作Excel文档
使用MFC自动化操作Excel文档 项目中要用到MFC操作Excel文件,在网上搜的结果,有把Excel当数据库处理的,也有直接操作Excel的,最终在MSDN上看到的结果,测试后觉得好用些. 使用基 ...
- python打开word并插入图片_Python操作word文档插入图片和表格的实例演示
前言 图片是Word的一种特殊内容,这篇文章主要介绍了关于Python操作word文档,向里面插入图片和表格的相关内容,下面话不多说了,来一起看看详细的代码 实例代码: # -*- coding: U ...
- golang如何操作excel文档
目录 需求 分析 实现 日历时间 生成excel表头 style 参考 直接使用 github上关注较多的两个libary是 github.com/tealeg/xlsx 然而xlsx:NOT ACT ...
- VS操作Excel文档
1.打开一个Excel模板文档 Excel.Application app = new Excel.Application(); app.Visible = false; app.UserContro ...
最新文章
- 突破微信小程序五层层级限制的解决方案
- [ffmpeg]安装
- 【数据结构与算法】之深入解析“按要求补齐数组”的求解思路与算法示例
- (译)Windsor入门教程---第三部分 编写第一个Installer
- 万物互联、应用现代化、云原生新范式,华为云为数字化转型提供最优解
- 《坐热板凳》第八次团队作业:Alpha冲刺(第二天)
- Gulp,grunt,seajs/require和browserify/webpack的区别
- tensorflow python3 decode_python安装tensorflow后import出错
- java中加权滤波怎么用_方向加权中值滤波算法-The Directional Medial Filtering with Weights...
- 小白建设一个网站需要什么资料?完整网站建设流程今天告诉你!
- getSreenWH()
- Java基础-----匿名对象
- C++基础中的基础——平行四边形
- 在手机上进行python开发的软件推荐
- 【BP数据预测】基于matlab斑点鬣狗算法优化BP神经网络数据预测【含Matlab 219期】
- 总结 拦截器(Interceptor) 和 过滤器(Filter)的区别
- C# 汉字转拼音 拼音转汉字 简体繁体互转
- C语言中字符数组的初始化与赋值
- MTP模式下恢复手机误删数据方法(MX2、MX3亲测可用)
- python摄像头动作捕捉_OpenMMD:没有专业摄像设备也能动作捕捉!K帧动作设计苦手的福音~...
热门文章
- 成本中心和内部订单浅析
- 历届冬奥会举办地与举办时间
- 三种会计科目表:运营会计科目表、国家会计科目表、集团会计科目表
- SAP 选择屏幕的收起与展开(Collapse and Expand)
- 主从mysql能过滤指定dml吗_MyCat教程二:mysql主从复制实现 - HG-93
- java 转换成时间戳_Java 实例 – 时间戳转换成时间 - Java 基础教程
- error: a label can only be part of a statement and a declaration is not a statement
- 18python入门到精通_《Python从入门到精通(60课)》18 序列类型之元组
- java通过maven构建项目实现日志生成模拟(一)创建maven项目+安装配置Fastjson.jar和Logback.jar 和 slf4j.jar
- Python教程:zip 函数的用法