python excel对比_日常使用————python对比两个excel表中的数据

本文探讨了如何将80年代的xls格式数据与2000年xlrd和openpyxl读取的xlsx数据进行比较,通过定义compareData函数逐列检查差异,并展示了myresult函数生成的差异表格。重点在于两个时期数据结构和内容的转换与差异查找。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现在有两个相同的数据集的结构,把80年和2000年两个文件夹,文件名是一样的,但文件数据是不一致的80年xls格式存储,2000年使用xlrd读取数据存储在xlsx格式,使用openpyxl读取数据,然后比较了读取数据。第一种比较后,列出了相应的子条目:def compareData(文件名):file80 = get_filename_from_dir (F: \\ \\ 80) resultfx =[]如果文件名file80: wb80 = _workbook(80 \/ +文件名)wb2000 = _workbook(2000 \/ +文件名)sheet80_0 = _by_index (0) sheet80_1 = _by_index (1) sheet2000_0 = _by_index (0) sheet2000_1 = _by_index(1)测试= sheet80_ (0, 1)。

值#表2 #打印测试,\u201C+ + + + +\u201D,test2for我范围内(3 8):j的范围(13):如果(cmp (j, 10) ! = 0): val80 =浮动(sheet80_ (j,我)value) #打印str (val80),\u201C\u2014\u2014\u201D, str (j),\u201C\u2014\u2014\u201D, str(我)如果(cmp (j, 8) = = 0): val2000 =浮动(sheet2000_(14,我)value) elif (cmp (j, 6) = = 0或cmp (j, 7) = = 0): val2000 =浮动(sheet2000_ (j + 5,我)value)其他:val2000 =浮动(sheet2000_ (j + 4,我)value) val_cha = val80-val2000if (cmp (val_) !

= 0): L = [] lx = sheet80_ (1,0) value +\u201D\u2014\u2014\u201C+ sheet80_(0米)value (lx) (str (val80_1)) (str (val2000_1)) (L)返回resultfxelse:打印文件名+\u201D- - - - - - 80年的数据\u201Cdef myresult(文件名):wb =工作簿()指数= 0 d的数据:表= _sheet(\u2018表\u2019+ str(索引))((文件名,' 80 ',' 2000 '))(d)指数=指数+ 1(比较result.xlsx)第二是生成相同的表结构,然后填写的差异值:r = get_filename_from_dir (F: \\ \\ 2000) file80 = get_filename_from_dir (F: \\ \\ 80)世行=工作簿()指数在r = 0我:如果我在file80:表= _sheet(\u2018表\u2019+ str(索引))(((\u201Cgbk\u201D)、\u201C80\u201D.

decode (gbk)]) dilei_head =[我的地图区域映射的土地面积,\u201C线性特性,脊区\u201D,\u201C包括国有土地\u201D,包括集体土地']gengdi_head =[\u201C耕地\u201D,我\u201C稻田\u201D,\u201C灌溉土地\u201D,\u201C陆地\u201D,\u201C1类\u201D,\u201C二级\u201D、\u201C三级\u201D,\u201C四级\u201D,\u201C五类\u201D,\u201C6类\u201D,\u201C七类\u201D,\u201C8类\u201D,\u201C9类\u201D,\u201C10等。

\u201D,\u201C13等。\u201D,\u201C14等。\u201D,\u201C15等。\u201D]dilei_col =[\u201C面积\u201D、\u201C耕地\u201D,\u201C耕地\u201D,\u201C其中:稻田\u201D,其中包括:灌溉土地,\u201C花园的土地\u201D,\u201C林地\u201D,\u201C区域与K\u201D,\u201C其他(包括育种)\u201D,\u201C建设用地\u201D,\u201C闲置土地\u201D)为t,项列举(dilei_head):(行= (gbk))为t,项列举(gengdi_head):(行= (gbk))为t,项列举(dilei_col):(行= (gbk))在列举为t,条目(compareData(我)):如果(t !

decode (gbk) (= m + 2行,列= t + 2,价值= mitem): m, mitem在列举(项):mitem = str (mitem) .decode (gbk) (= m + 2 = 15行,列,价值= mitem)指数=指数+ 1:打印i + 80\u201D\u2014\u2014无数据\u201D(\u201C对比结果\u201D)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值