`
finux
  • 浏览: 202457 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

用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()

 

source code

1
0
分享到:
评论

相关推荐

    Python操作Excel模块 xlrd和xlwt和xlutils

    在Python编程中,处理Excel文件是一项常见的任务,无论是数据分析、报表生成还是自动化脚本,Excel模块都发挥着关键作用。...理解并熟练掌握这三个模块的使用,能帮助你有效地管理和操作Excel数据。

    在pycharm中导入xlrd和xlwt.模块具体操作.docx

    当涉及到Excel数据处理时,`xlrd`和`xlwt`是两个不可或缺的库,它们分别用于读取和写入Excel文件。这篇文档详细介绍了如何在PyCharm中安装和使用这两个模块。 首先,你需要确保已经安装了`xlrd`和`xlwt`。在命令行...

    Python最新xlrd,xlwt模块

    在实际应用中,开发者通常会结合使用xlrd和xlwt,先用xlrd读取Excel文件,处理数据,然后用xlwt将处理后的数据写入新的Excel文件。这两个库对于数据分析、报告生成、自动化办公等场景非常实用,尤其在Python生态系统...

    python excel xlrd xlwt

    包含了xlrd-0.9.3.tar.gz和xlwt-1.0.0.tar.gz,这是xlrd和xlwt的源码包,可以通过解压安装,如使用pip安装:`pip install xlrd xlwt`,这样就可以在Python环境中使用这两个库进行Excel文件的操作了。在实际项目中,...

    python对excel表格操作xlrd和xlwt下载

    pandas库内置了对xlrd和xlwt的支持,可以直接读写Excel文件,且支持.xlsx格式,使用起来更为便捷。 总结一下,Python的xlrd和xlwt库是处理Excel文件的基础工具,对于学习Python数据处理的初学者来说,掌握这两个库...

    python_Excel安裝包xlrd_xlwt_xlutils.rar

    Python在处理Excel文件时,经常会用到几个关键的库,如xlrd、xlwt和xlutils。这些库分别用于读取、写入和处理Excel文件,对于数据分析、报告生成等任务非常有用。在这个名为"python_Excel安裝包xlrd_xlwt_xlutils....

    python_xlrd_xlwt_xlutils_excel2003.rar

    python中通过xlwt、xlrd和xlutils操作xls xlwt模块用于在内存中生成一个xls/xlsx对象,增加表格数据,并把内存中的xls对象保存为本地磁盘xls文件; xlrd模块用于把本地xls文件加载到内存中,可以读取xls文件的...

    Python自动化办公Excel库xlrd与xlwt常用操作详解.pdf

    这时,可以考虑使用xlutils库,它可以配合xlrd和xlwt进行读写操作,比如在写入新数据时,可以先用xlrd读取原文件,再用xlwt写入新数据,最后利用xlutils更新原文件。 对于.xlsx文件的处理,xlwings和openpyxl是更好...

    Python xlrd/xlwt 创建excel文件及常用操作

    Python中的xlrd和xlwt库是用于处理Excel文件的两个重要工具。xlrd库主要用于读取Excel文件,而xlwt库则用于创建和写入Excel文件。...通过熟练掌握xlrd和xlwt库,你可以轻松地用Python处理Excel文件,提高办公效率。

    python使用xlrd和xlwt读写Excel文件的实例代码

    在Python中,`xlrd` 和 `xlwt` 是两个常用的库,分别用于读取和写入Excel文件。本文将详细介绍如何使用这两个库进行Excel操作。 首先,我们需要确保这两个库已经正确安装。在Linux环境下,如果你已经安装了`pip`,...

    python基于xlrd&xlwt读写excel

    只能操作已存在的excel 依赖: 1. xlrd 2. xlwt 3. xlutils 全局变量: 1. 文件名称 2 工作薄对象 3. sheet对象 4. copy的工作薄对象 5. copy的sheet对象 6. 单元格样式对象 7. 当前 sheet 有效行数 8. ...

    Python对Excel操作详解,很好用,里面有xlrd, xlwt怎么使用。.zip

    这里我们主要探讨两个Python库:xlrd和xlwt,它们分别用于读取和写入Excel文件。 首先,让我们来了解xlrd库。xlrd是一个专门用于读取Excel文件的库,支持旧版的.XLS格式和较新的.XLSX格式。使用xlrd,你可以轻松地...

    python读取excel数据绘制简单曲线图的完整步骤记录

    本文使用xlrd读取excel文件(xls,sxls格式),使用xlwt向excel写入数据 一、xlrd和xlwt的安装 安装很简单,windos+r调出运行窗口,输入cmd,进入命令行窗口,输入以下命令。 安装xlrd: pip install xlrd 安装xlwt: ...

    Excel-xlrd读-xlwt写

    在实际应用中,我们可能会先使用xlrd读取一个Excel文件,处理数据,然后再用xlwt写入新的数据到另一个Excel文件。例如,可以读取Excel文件,筛选出满足特定条件的数据,进行计算或者清洗,然后将结果写入新的Excel...

    python 的excel支持库excel xlrd xlwt xlutils打包

    Python在处理Excel文档时,有一些强大的库可以帮助我们完成任务,如xlrd、xlwt和xlutils。这些库分别用于读取、写入和处理Excel文件,使得Python在数据分析和报告生成方面表现出色。 首先,xlrd是Python的一个库,...

    python对excel处理的xlwt xlrd模板

    Python在处理Excel文件时,经常会使用到两个非常重要的库:xlwt和xlrd。这两个库分别用于读取和写入Excel文件,对于数据分析、数据处理和自动化报告等任务有着广泛的应用。 **xlrd库** xlrd是Python的一个开源库,...

    python使用xlrd与xlwt对excel的读写和格式设定

    通过以上示例,我们可以看到使用`xlrd`和`xlwt`库进行Excel文件的读写是非常直观且简单的。这两个库不仅支持基本的数据读写功能,还提供了丰富的API来设置单元格的格式,满足了大部分场景下的需求。无论是数据导入...

Global site tag (gtag.js) - Google Analytics