[发明专利]一种利用Python实现两类多个Excel电子表格合并数据的方法在审
申请号: | 201710836075.7 | 申请日: | 2017-09-16 |
公开(公告)号: | CN107544814A | 公开(公告)日: | 2018-01-05 |
发明(设计)人: | 陈兴雷;任金乐 | 申请(专利权)人: | 陈兴雷;任金乐 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 233040 安徽省蚌*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 python 实现 两类多个 excel 电子表格 合并 数据 方法 | ||
技术领域
本发明公开一种实现两类多个Excel电子表格合并数据的方法,属于数据表应用领域,具体而言是一种利用Python实现两种类型(一种为填表式合并,一种为新增行式合并)多个Excel电子表格数据的方法。
背景技术
Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的站点包,可以轻易完成各种高级任务,至今已经成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的计算机程序设计语言。Microsoft Excel软件目前已经在日常生活和办公环境中取得了非常广泛的应用。在现实办公环境中,经常需要制作好格式表格,然后分发出去,由具体信息提供者按格式填写好后反馈,在收到反馈信息后,再逐一拷贝汇总反馈后的电子表格。这种汇总合并大量的电子表格时,既费时费力,又容易出错。为更好的解决这一现实问题,提高劳动效率,减少人力资源成本,本发明在具体分析合并电子表格的类型后,提供一种利用Python实现两类多个Excel电子表格合并数据的方法,简单易操作,可将填表式合并或新增行式合并两种类型的大量电子表格合并到一个Excel电子表格中,以保证数据合并的准确性和时效性,减轻工作量。
发明内容
本发明针对现有技术存在的不足和问题,对数据合并中的填表式合并和新增行式合并两种情形,提供一种利用Python实现这两类多个Excel电子表格合并数据的方法,提出的具体方案是:
在Windows XP或Win7系统中安装有Microsoft Excel2003或2007和Python2.7.2,并安装有xlrd1.1.0、xlwt1.3.0和xlutils2.0.0站点包(3个站点包下载解压后将其xlrd、xlwt和xlutils文件夹拷备至C:/Python27/Lib/site-packages目录下即可)的前提下,
(1) 将待合并的文件拷备至桌面目录下;
(2) 运行程序/Python2.7/IDLE(Python GUI),通过Ctr+N或File/New Window新建一Untitled代码窗口;
(3) 将Python程序代码拷备至此窗口中,按F5保存文件到桌面目录(与待合并文件同一目录)后直接运行,Python程序如下:
#!/usr/bin/env python
#coding=GBK
import os,sys,time,tkFileDialog,shutil,xlrd,xlwt,xlutils.copy
def fill_in(files_i,filename):
master_open=xlrd.open_workbook(filename)
open_master=xlutils.copy.copy(master_open)
master_table0=master_open.sheet_by_index(0)
master_sheet0=open_master.get_sheet(0)
master_nrows=master_table0.nrows
master_ncols=master_table0.ncols
for L in files_i:
file_i_open=xlrd.open_workbook(L)
open_file_i=xlutils.copy.copy(file_i_open)
file_i_table0=file_i_open.sheet_by_index(0)
file_i_sheet0=open_file_i.get_sheet(0)
i=0
j=0
for i in range(0,master_nrows):
for j in range(0,master_ncols):
master_cell_ij=master_table0.cell(i,j).value
file_i_cell_ij=file_i_table0.cell(i,j).value
if master_cell_ij!=file_i_cell_ij:
master_sheet0.write(i,j,file_i_cell_ij)
else:
pass
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陈兴雷;任金乐,未经陈兴雷;任金乐许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710836075.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种静态库配置的切换方法和系统
- 下一篇:一种软件包下发和加载方法及装置