精华内容
下载资源
问答
  • 一个同事有两个excel表格比较差异, 找了一下有相关软件,如: beyond compare, excel compare但这两个似乎都是直接排序再比较的.然后没办法,就用python折腾了一个脚本. 这个脚本先读入要比较的文件中的表. 读的时候 ...

    一个同事有两个excel表格要比较差异, 找了一下有相关软件,如: beyond compare, excel compare

    但这两个似乎都是直接排序再比较的.

    然后没办法,就用python折腾了一个脚本. 这个脚本先读入要比较的文件中的表. 读的时候 ,如果没有空行就把它和它前面的加一起,直到有空行. 这样比较的话, 不能得到具体那一行有差异, 只有一个大概的位置. 如果表格中间空行越少,越精确.#!/usr/bin/python

    #-*- coding:utf-8 -*-

    import xlrd, os, sys

    if len(sys.argv) != 3:

    print "\n ./script diff_1.xlsx diff_2.xlsx \n"

    sys.exit()

    diff = {}

    xls1 = sys.argv[1]

    xls2 = sys.argv[2]

    if os.path.isfile(xls1) and os.path.isfile(xls2):

    pass

    else:

    print "\n ./script diff_1.xlsx diff_2.xlsx \n"

    sys.exit()

    def getcontent(table): #获取xlsx表内容

    tmp_data = {}

    tmp_table = ‘‘

    all_data = {}

    for j in xrange(table.nrows):

    tmp = table.row_values(j)

    if list(set(tmp)) == [‘‘]:

    tmp_data[tmp_table] = ‘‘

    if tmp_table != ‘‘:

    all_data[j] = tmp_table

    tmp_table = ‘‘

    else:

    tmp2 = ""

    for i in tmp:

    try:

    tmp2 = tmp2 + i + ","

    except:

    tmp2 = tmp2 + str(i)+ ","

    tmp_table = tmp_table + tmp2 + "\n" #把多行的内容放一起

    return (tmp_data, all_data)

    def write_file(excel_diff, filename):

    f = open(filename, ‘w‘)

    f.write(excel_diff)

    f.close()

    def diff_content(table1,table2): #检查两个表差异

    diff_tmp = []

    for i in table1:

    if i in table2:

    pass

    else:

    diff_tmp.append(i)

    return list(set(diff_tmp))

    def get_rows(diff, all_data): #获取差异位置

    tmp = []

    for i in diff:

    for j in all_data:

    if all_data[j].strip() == i.strip():

    tmp.append(j)

    break

    return tmp

    for i in range(0,2): # 比较几个表

    data1 = xlrd.open_workbook(xls1)

    table1 = data1.sheets()[i]

    data2 = xlrd.open_workbook(xls2)

    table2 = data2.sheets()[i]

    tmp1, all1 = getcontent(table1)

    tmp2, all2 = getcontent(table2)

    result = diff_content(tmp1, tmp2) #1 中有 2 没有的具体内容

    # result2= diff_content(tmp2, tmp1) #2 中有 1 没有的具体内容

    diff[i] = get_rows(result,all1)

    print sorted(diff[i])

    # write_file(sorted(diff[i]), "/tmp/diff.txt")

    # diff[i] = get_rows(result2,all2)

    # print sorted(diff[i])

    原文地址:http://abian.blog.51cto.com/751059/1603947

    展开全文
  • 今天小编就为大家分享一篇python进行两个表格对比的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 如何用pythonexcel中同时提取两个列的数据,并生...利用python xlrd包读取excle文件,然后将文件内容存入列表中,再利用xlsxwriter将内容写一个新的excel文件完整代码# -*- coding: utf-8 -*-#将多个Excel文件合并...

    如何用python从excel中同时提取两个列的数据,并生...

    利用python xlrd包读取excle文件,然后将文件内容存入列表中,再利用xlsxwriter将内容写一个新的excel文件

    完整代码

    # -*- coding: utf-8 -*-#将多个Excel文件合并成一个import xlrdimport xlsxwriter#打开一个excel文件def open_xls(file):

    fh=xlrd.open_workbook(file)    return fh#获取excel中所有的sheet表def getsheet(fh):

    return fh.sheets()#获取sheet表的行数def getnrows(fh,sheet):

    table=fh.sheets()[sheet]    return table.nrows#读取文件内容并返回行内容def getFilect(file,shnum):

    fh=open_xls(file)

    table=fh.sheets()[shnum]

    num=table.nrows    for row in range(num):

    rdata=table.row_values(row)

    datavalue.append(rdata)    return datavalue#获取sheet表的个数def getshnum(fh):

    x=0

    sh=getsheet(fh)    for sheet in sh:

    x =1

    return xif __name__=='__main__':    #定义要合并的excel文件列表

    allxls=['F:/test/excel1.xlsx','F:/test/excel2.xlsx']    #存储所有读取的结果

    datavalue=[]    for fl in allxls:

    fh=open_xls(fl)

    x=getshnum(fh)        for shnum in range(x):

    print("正在读取文件:" str(fl) "的第" str(shnum) "个sheet表的内容...")

    rvalue=getFilect(fl,shnum)    #定义最终合并后生成的新文件

    endfile='F:/test/excel3.xlsx'

    wb1=xlsxwriter.Workbook(endfile)    #创建一个sheet工作对象

    ws=wb1.add_worksheet()    for a in range(len(rvalue)):        for b in range(len(rvalue[a])):

    c=rvalue[a][b]

    ws.write(a,b,c)

    wb1.close()

    print("文件合并完成")1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162

    源文件excel1:

    源文件excel2:

    运行结果:

    合并后的excel3:

    python如何读取多个excel合并到一个excel中

    利用python xlrd包读取excle文件,然后将文件内容存入列表中,再利用xlsxwriter将内容写一个新的excel文件

    完整代码

    # -*- coding: utf-8 -*-#将多个Excel文件合并成一个import xlrdimport xlsxwriter#打开一个excel文件def open_xls(file):

    fh=xlrd.open_workbook(file)    return fh#获取excel中所有的sheet表def getsheet(fh):

    return fh.sheets()#获取sheet表的行数def getnrows(fh,sheet):

    table=fh.sheets()[sheet]    return table.nrows#读取文件内容并返回行内容def getFilect(file,shnum):

    fh=open_xls(file)

    table=fh.sheets()[shnum]

    num=table.nrows    for row in range(num):

    rdata=table.row_values(row)

    datavalue.append(rdata)    return datavalue#获取sheet表的个数def getshnum(fh):

    x=0

    sh=getsheet(fh)    for sheet in sh:

    x =1

    return xif __name__=='__main__':    #定义要合并的excel文件列表

    allxls=['F:/test/excel1.xlsx','F:/test/excel2.xlsx']    #存储所有读取的结果

    datavalue=[]    for fl in allxls:

    fh=open_xls(fl)

    x=getshnum(fh)        for shnum in range(x):

    print("正在读取文件:" str(fl) "的第" str(shnum) "个sheet表的内容...")

    rvalue=getFilect(fl,shnum)    #定义最终合并后生成的新文件

    endfile='F:/test/excel3.xlsx'

    wb1=xlsxwriter.Workbook(endfile)    #创建一个sheet工作对象

    ws=wb1.add_worksheet()    for a in range(len(rvalue)):        for b in range(len(rvalue[a])):

    c=rvalue[a][b]

    ws.write(a,b,c)

    wb1.close()

    print("文件合并完成")1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162

    源文件excel1:

    源文件excel2:

    运行结果:

    合并后的excel3:

    python批处理多个excel文件,得出所有excel文件中...

    import openpyxl

    filename = 'test.xlsx'

    wb = openpyxl.load_workbook(filename)

    ws = wb.active

    # 遍历出整个数据

    # 下面第一个一是表第一行开始,如果想从第二行,为二

    # ws.max_row 为该表格的最大行数;ws.max_column 为最大列数

    for a in range(1, ws.max_row 1):

    for b in range(1, ws.max_column 1):

    value = ws.cell(row=a, column=b).value

    print(value, end=' ')

    print()

    ws.close()

    wb.close()

    如何用python把多个excel文件自动合并到一个文件中

    工作中经常Excel,很多事情都重复处理,比如每日报,每周的周报,各种数据表,这定的表其实都是性的劳动。最近这段时间一直在学python,但是断断续续的,眼高手低,看别人的代码看的很懂,但是自己就是写不出来,决定自己写个小程序练练手,解决下身边的实际问题,提高工作效率。

    这个小脚本主要是把多个excel文件合并到一个文件中。网上搜索了下文章,有不少excel的python库,最后选择了适合python3的openpyxl库,这个库安装很简单,

    pip install openpyxl

    开发的环境是:mac/win python3.5 pycharm

    废话不多说,把代码贴出来,请大家多指点下,我觉着代码还可以更简洁下,如果大家有好的优化方案麻烦留言指导下:

    #coding=gbkimport openpyxlexcel_data=['qihu.xlsx','baidu.xlsx']# new=openpyxl.load_workbook('all.xlsx')for excel_name in excel_data:

    wb= openpyxl.load_workbook(excel_name,data_only=True)

    sheet_name=wb.get_sheet_names()

    # print(sheet_name)

    for work in sheet_name:

    nb = openpyxl.load_workbook('all.xlsx',data_only=True)

    newsheet_name = nb.get_sheet_names()

    if work in newsheet_name :

    name = nb.get_sheet_by_name(work)

    sheet = wb.get_sheet_by_name(work)

    for i in range(1,sheet.max_row 1):

    for j in range(1,sheet.max_column 1):

    # 获取整个sheet数据

    data=sheet.cell(row=i,column=j).value

    name.cell(column=j,row=i).value=data

    else:

    newsheet = nb.create_sheet(title=work)

    name = nb.get_sheet_by_name(work)

    sheet = wb.get_sheet_by_name(work)

    for i in range(1,sheet.max_row 1):

    for j in range(1,sheet.max_column 1):

    # 获取整个sheet数据

    data=sheet.cell(row=i,column=j).value

    name.cell(column=j,row=i).value=data

    print(name)

    nb.save('all.xlsx')

    # print(newsheet_name)

    如何用python合并两个excel表格

    思路:

    首先读个Excel的首行,对比那些然后分别所在的index也就是列

    然后把原始数据中找到和模板一样的数据整列读取,存入对应模板的index即可。基本简单了解下xlwr,xlrd或者是pandas的用法就能搞

    展开全文
  • 如何将两个excel表格的数据做差异对比先选中列的值getCell(sheet,row,column),比较之后setCell(sheet,row,column,value)这几个参数意思很明了了吧。。value就是你想要加的值python如何循环读取excel里面每个单元格...

    如何将两个excel表格的数据做差异对比

    先选中列的值getCell(sheet,row,column),比较之后setCell(sheet,row,column,value)

    这几个参数意思很明了了吧。。value就是你想要加的值

    python如何循环读取excel里面每个单元格的内容,我...

    2016版excel对比两的数据的方法:

    我们可以创建多个

    创建多口的方法:

    点单栏的窗口然后就是点击工具栏的新建窗口

    创建多个窗口可以通过不同的窗口来看到不同的内容可以对数据进行个对比

    重排窗口的方式有:水平平铺、垂直平铺、层叠

    重排窗口的方法:

    1.点击菜单栏的窗口然后去选择相应的重排窗口的方式即可

    注意:窗口还原:最大化即可

    新手问题:编写一个python脚本,要求两个excel列表...

    excel如何两步对比表格数据?

    如何利用python提取两个excel对比后的重复值的信息?

    import pandas

    def read_excel():

    data1 = pandas.read_excel(r'C:\Users\admin\Desktop\1.xlsx')

    data2 = pandas.read_excel(r'C:\Users\admin\Desktop\2.xlsx')

    data3=pandas.merge(data1, data2, on=[''], how='outer')

    print(data3)

    data3.to_excel(r'C:\Users\admin\Desktop\3.xlsx',index=False)

    read_excel()

    这3个excel分别是1,2,3表,用2匹配1,得到3表,我以名称比,相同的都统计了,3表里信息x,价格x为空的就是没匹配上的,要看具体数据的情况

    怎样对两个EXCEL表格数据对比,找出相同和不同的数据?

    展开全文
  • 怎么用python读取excel表格的数据importxlrd#openthe.xlsfilexlsname="test.xls"book=xlrd.open_workbook(xlsname)#buildadictionaryofthenames->sheetsofthebooksd={}forsinbook.sheets():sd[s.name]=s#obta...

    怎么用python读取excel表格的数据

    import xlrd

    #open the .xls file

    xlsname="test.xls"

    book = xlrd.open_workbook(xlsname)

    #build a dictionary of the names->sheets of the book

    sd={}

    for s in book.sheets():

    sd[s.name]=s

    #obtain Sheet "Foglio 1" from sheet names dictionary

    sheet=sd["Foglio 1"]

    #print value of the cell J141

    print sheet.cell(142,9)

    print sheet.cell(142,9)可以获得142行第9列那个单元格的值

    想用Python对csv表格中的某一列数据进行关键词筛选

    就是把xls or xlsx另存为CSV格式,然后再检索。代码如下,抛砖引玉。

    # -*- coding: cp936 -*-

    import linecache

    o=open('d:\\test\\14.csv')#文件路径

    o.seek(0)

    r=o.readlines()

    s1=str(input('输入要定位的信息:'))

    a=0

    count=0

    for i in r: #按和值组合查找

    if i.find(s1)>=0:

    print r[a-1]#显示上一行

    print i#显示定位行

    print r[a 1]#显示下一行

    a =1

    print 'Total:%d'%count

    例:

    在以下数据中,查找含有T的行,并显示上一行(n行) or 下一行(n行) 。

    1,2,3,4

    W,R,GFR,T

    12,,F,34,G

    这个就用上面的代码就行了。

    python如何对excel表格指定内容查找

    感觉还是CSV格式的好处理一些,EXCEL的要装插件,以CSV为例,给一段代码

    sqlserver char 对应c#

    import linecache

    o=open('d:\\test\\14.csv')#文件路径

    o.seek(0)

    r=o.readlines()

    s1=str(input('输入要定位的信息:'))

    a=0

    count=0

    for i in r: #按和值组合查找

    if i.find(s1)>=0:

    print r[a-1]#显示上一行

    print i#显示定位行

    print r[a 1]#显示下一行

    a =1

    print 'Total:%d'%count

    例:

    在以下数据中,查找含有T的行,并显示上一行(n行) or 下一行(n行) 。

    1,2,3,4

    W,R,GFR,T

    12,,F,34,G

    如何利用python提取两个excel对比后的重复值的信息?

    1、首先在filepathName = pd.read_excel(filepathName, sep='') #读取表格中数据。

    2、然后ws = wb.worksheets[0] #获取表格中指定工作表。

    3、然后输入for rx in range(1,ws.max_row 1): #遍历表格中的行数。

    4、再其次输入#print(rx)temp_list = []

    5、快好了,在money = ws.cell(row=rx, column=1).value #获取表中第1列所有的数据

    kind = ws.cell(row=rx, column=2).value #获取表中第2列所有的数据

    data_dic.append(temp_list)

    6、最后#检测结果for l in data_dic:print(l[0],l[1])。

    7、然后就完成了。

    用python读取excel,怎样显示要查找的数据?

    1、首先打开电脑上编写python的软件。

    2、然后新建一个py文件,如下图百所示。

    3、接着就度是导入版xlrd包,读取权表格的函数就在这里面,如下图所示。

    4、然后就是打开想要读取的表格,如下图所示。

    5、接着就是指定要读取一个excel表中的那个表格。

    6、然后就是根据sheet索引获取sheet内容。

    7、最后就是读取一个表格中的行或列的值,就完成了。

    展开全文
  • python比较两个excel表格的差异

    千次阅读 2017-11-27 14:47:00
    一个同事有两个excel表格比较差异, 找了一下有相关软件,如: beyond compare, excel compare 但这两个似乎都是直接排序再比较的. 然后没办法,就用python折腾了一个脚本. 这个脚本先读入要比较的文件中的表. 读的...
  • 一个同事有两个excel表格比较差异, 找了一下有相关软件,如: beyond compare, excel compare但这两个似乎都是直接排序再比较的.然后没办法,就用python折腾了一个脚本. 这个脚本先读入要比较的文件中的表. 读的时候 ...
  • python进行两个表格对比

    千次阅读 2016-10-19 20:52:08
    print u"第%s个表格"%(i+1) print mylist[i] print "-"*60 try: table=data.sheets()[i] except IndexError,e: break nrows=table.nrows count=1 if i m=10 else: m=16 for j in range(m,nrows): ...
  • 以前正好在一本书上看到过,使用Python来处理Excel表格,可惜没有仔细看。于是我到处查找资料,基本解决了日常所需,终于算是完成了任务,因此撰写此文就算是总结吧,主要记录使用过程的常见问题及解决。Python操作...
  • see: http://www.cnblogs.com/sunada2005/p/3193300.html一、可使用的第三方库python中处理excel表格,常用的库有xlrd(读excel)表、xlwt(写excel)表、openpyxl(可读写excel表)等。xlrd读数据较大的excel表时...
  • 之前在学习os模块中,我们知道了如何创建一txt格式的文件(具体操作见...那么我们就需要创建一个Excel表格了创建Excel表格一般有种方法:一:通过导入xlwt库来创建,这种是最常规的方法,不过相对也比较麻烦二:通...
  • EXCEL-两个表格对比相同数据合并或代入data3 = pandas.merge(data1, data2, on=['名称'], how='inner')inner:内连接,取交集,这样改一下就符合你的要求了如何利用python提取两个excel对比后的重复值的信息?...
  • python脚本(比较两个Excel表格的不同并标记) 由于最近有用到比较两个Excel数据的不同,数据量较大,就在网上搜索了一下python脚本,发现一个比较好用的,但只能比较单列的不同,且有些函数为旧版函数目前已无法...
  • excel/使用Python处理Excel表格 2009年01月16日给俺的boss写的一个小工具,使用Python对Excel进行统计,然后把结束生成一个新的Excel表格,使用到了xlrd和pyExcelerator两个库。简单的介绍一下这两个库,先说xlrd,...
  • 一、可使用的第三方库python中处理excel表格,常用的库有xlrd(读excel)表、xlwt(写excel)表、openpyxl(可读写excel表) 等。xlrd读数据较大的excel表时效率高于openpyxl,所以我在写脚本时就采用了xlrd和xlwt这...
  • 基于PythonExcel表格差异对比工具

    千次阅读 2019-10-26 23:11:12
    一。问题描述 ...​工作室基于Python 3.7的Pyqt4、xlrd等模块,开发了一款excel数据对比的工具,该工具可以区分两个相似的excel表格,指出新的表格相比于旧表格改动的地方。如下图所示: 1所在的区...
  • 一、可使用的第三方库python中处理excel表格,常用的库有xlrd(读excel)表、xlwt(写excel)表、openpyxl(可读写excel表)等。xlrd读数据较大的excel表时效率高于openpyxl,所以我在写脚本时就采用了xlrd和xlwt这...
  • python 查找两个EXCEL中的相同单元格,计算对应值...差别如下:1、Python门编程语言,有很它写出来的,也有直接对excel操作的Python工具包。2、excel只是个表格处理工具,虽然里面也可以编程。3、简单来说excel能...
  • 今天老大交给我一个任务,对比两个版本的excel数据的异同(增删情况),唉,说多了都是泪,自从学会了python,再也不用担心老大这样的任务了~~~好了直接上代码吧,代码中解释import xlrdimport xlwt#from xlutils....
  • 本篇文章给大家分享 怎样用Python读写Excel表格?最近在做一些数据处理和计算的工作,因为数据是以.CSV格式保存的,因此刚开始直接用Excel来处理。但是做着做着发现重复的劳动,其实并没有多大的意义,于是就想着写...
  • 前面我们已经学到了很多Python在...今天南京小码王Python培训班老师就来教教大家如何用Python处理Excel表格,快来动手试试看吧。基本使用方法1.首先导入模块:import openpyxl2.打开一已经存在的excel文件:wb=...
  • Python 自动整理 Excel 表格

    千次阅读 2019-08-01 14:48:08
    Python 自动整理 Excel 表格 相信有不少朋友日常工作会用到 Excel 处理各式表格文件,更有甚者可能要花大把时间来做繁琐耗时的表格整理工作。最近有朋友问可否编程来减轻表格整理工作量,今儿我们就通过实例来实现 ...
  • 今天分享一刚刚完成的Python脚本,一实用的小技能,就是利用Python代码,将EXCEL表格数据导入到MySQL数据库中!话不多说,下面代码示例。Excel表格数据.jpg1示例代码:import xlrdimport pymysql#打开数据所在的...
  • 相信有不少朋友日常工作会用到 Excel 处理各式表格文件,更有甚者可能要花大把时间来做繁琐耗时的表格整理工作。最近有朋友问可否编程来减轻表格整理工作量,今儿我们就通过实例来实现 Python表格的自动化整理。...
  • 在工作中,遇到了使用python生成Excel表格的需求,经过资料的查找与对比,决定使用第三方库xlwt来生成Excel表格,现做如下总结:简单例子:import xlwtwb = xlwt.Workbook(encoding = 'ascii') #创建实例,并且规定...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,140
精华内容 16,056
关键字:

python两个表格对比

python 订阅