工作当中经常要操作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
分享到:
相关推荐
在Python编程中,处理Excel文件是一项常见的任务,无论是数据分析、报表生成还是自动化脚本,Excel模块都发挥着关键作用。...理解并熟练掌握这三个模块的使用,能帮助你有效地管理和操作Excel数据。
当涉及到Excel数据处理时,`xlrd`和`xlwt`是两个不可或缺的库,它们分别用于读取和写入Excel文件。这篇文档详细介绍了如何在PyCharm中安装和使用这两个模块。 首先,你需要确保已经安装了`xlrd`和`xlwt`。在命令行...
在实际应用中,开发者通常会结合使用xlrd和xlwt,先用xlrd读取Excel文件,处理数据,然后用xlwt将处理后的数据写入新的Excel文件。这两个库对于数据分析、报告生成、自动化办公等场景非常实用,尤其在Python生态系统...
包含了xlrd-0.9.3.tar.gz和xlwt-1.0.0.tar.gz,这是xlrd和xlwt的源码包,可以通过解压安装,如使用pip安装:`pip install xlrd xlwt`,这样就可以在Python环境中使用这两个库进行Excel文件的操作了。在实际项目中,...
pandas库内置了对xlrd和xlwt的支持,可以直接读写Excel文件,且支持.xlsx格式,使用起来更为便捷。 总结一下,Python的xlrd和xlwt库是处理Excel文件的基础工具,对于学习Python数据处理的初学者来说,掌握这两个库...
Python在处理Excel文件时,经常会用到几个关键的库,如xlrd、xlwt和xlutils。这些库分别用于读取、写入和处理Excel文件,对于数据分析、报告生成等任务非常有用。在这个名为"python_Excel安裝包xlrd_xlwt_xlutils....
python中通过xlwt、xlrd和xlutils操作xls xlwt模块用于在内存中生成一个xls/xlsx对象,增加表格数据,并把内存中的xls对象保存为本地磁盘xls文件; xlrd模块用于把本地xls文件加载到内存中,可以读取xls文件的...
这时,可以考虑使用xlutils库,它可以配合xlrd和xlwt进行读写操作,比如在写入新数据时,可以先用xlrd读取原文件,再用xlwt写入新数据,最后利用xlutils更新原文件。 对于.xlsx文件的处理,xlwings和openpyxl是更好...
Python中的xlrd和xlwt库是用于处理Excel文件的两个重要工具。xlrd库主要用于读取Excel文件,而xlwt库则用于创建和写入Excel文件。...通过熟练掌握xlrd和xlwt库,你可以轻松地用Python处理Excel文件,提高办公效率。
在Python中,`xlrd` 和 `xlwt` 是两个常用的库,分别用于读取和写入Excel文件。本文将详细介绍如何使用这两个库进行Excel操作。 首先,我们需要确保这两个库已经正确安装。在Linux环境下,如果你已经安装了`pip`,...
只能操作已存在的excel 依赖: 1. xlrd 2. xlwt 3. xlutils 全局变量: 1. 文件名称 2 工作薄对象 3. sheet对象 4. copy的工作薄对象 5. copy的sheet对象 6. 单元格样式对象 7. 当前 sheet 有效行数 8. ...
这里我们主要探讨两个Python库:xlrd和xlwt,它们分别用于读取和写入Excel文件。 首先,让我们来了解xlrd库。xlrd是一个专门用于读取Excel文件的库,支持旧版的.XLS格式和较新的.XLSX格式。使用xlrd,你可以轻松地...
本文使用xlrd读取excel文件(xls,sxls格式),使用xlwt向excel写入数据 一、xlrd和xlwt的安装 安装很简单,windos+r调出运行窗口,输入cmd,进入命令行窗口,输入以下命令。 安装xlrd: pip install xlrd 安装xlwt: ...
在实际应用中,我们可能会先使用xlrd读取一个Excel文件,处理数据,然后再用xlwt写入新的数据到另一个Excel文件。例如,可以读取Excel文件,筛选出满足特定条件的数据,进行计算或者清洗,然后将结果写入新的Excel...
Python在处理Excel文档时,有一些强大的库可以帮助我们完成任务,如xlrd、xlwt和xlutils。这些库分别用于读取、写入和处理Excel文件,使得Python在数据分析和报告生成方面表现出色。 首先,xlrd是Python的一个库,...
Python在处理Excel文件时,经常会使用到两个非常重要的库:xlwt和xlrd。这两个库分别用于读取和写入Excel文件,对于数据分析、数据处理和自动化报告等任务有着广泛的应用。 **xlrd库** xlrd是Python的一个开源库,...
通过以上示例,我们可以看到使用`xlrd`和`xlwt`库进行Excel文件的读写是非常直观且简单的。这两个库不仅支持基本的数据读写功能,还提供了丰富的API来设置单元格的格式,满足了大部分场景下的需求。无论是数据导入...