比對excel數據

#!/usr/bin/env pythonimport openpyxl
from openpyxl.styles import PatternFill
from openpyxl.styles import colors
from openpyxl.styles import Font, Color
a='D:/測算單位設置/比對/吉林/tmp001.xlsx'
b='D:/測算單位設置/比對/吉林/國網吉林電力.xlsx'
c='D:/測算單位設置/比對/吉林/07ERP.xlsx'
d='D:/測算單位設置/比對/吉林/07國網吉林電力.xlsx'
#讀取excel文件
#括號中的字符串為你要比較的兩個excel的路徑,注意用“/”
wb_a = openpyxl.load_workbook(a)
wb_b = openpyxl.load_workbook(b)
#定義一個方法來獲取表格中某一列的內容,返回一個列表
#在這里,我的表格中:IP是具有唯一性的,所以我用它來區分數據的差異,而IP這一列在我的表格中是第“G”列
def getIP(wb):sheet = wb.activeip = []for cell in sheet['A']:ip.append(cell.value)return ip#獲得ip列表
ip_a = getIP(wb_a)
ip_b = getIP(wb_b)
#將兩個列表轉換成集合
aa = set(ip_a)
bb = set(ip_b)#找出兩個列表的不同行,并轉換成列表
difference = list(aa ^ bb)#打印出列表中的元素
#到這一步,兩個表格中不同的數據已經被找出來了
#for i in difference:
#    print (i)
#將不同行高亮顯示
print ("開始第一張表" + "----" *10)
a = wb_a.active['A']
for cellobj in a:if cellobj.value in difference:# print (cellobj.value)cellobj.font = Font(color=colors.BLACK, italic=True ,bold = True)cellobj.fill = PatternFill("solid", fgColor="DDDDDD")
print ("開始第二張表" + "----" *10)
b = wb_b.active['A']
for cellobj in b:if cellobj.value in difference:#print (cellobj.value)cellobj.font = Font(color=colors.BLACK, italic=True ,bold = True)cellobj.fill = PatternFill("solid", fgColor="DDDDDD")wb_a.save(c)
wb_b.save(d)

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/535439.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/535439.shtml
英文地址,請注明出處:http://en.pswp.cn/news/535439.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CPU 是如何執行任務的

前言 你清楚下面這幾個問題嗎? 有了內存,為什么還需要 CPU Cache? CPU 是怎么讀寫數據的? 如何讓 CPU 能讀取數據更快一些? CPU 偽共享是如何發生的?又該如何避免? CPU 是如何調度任務的&a…

Ansible 的自動化運維

1、Ansible 特點 Ansible 自 2012 年發布以來,很快在全球流行,其特點如下: Ansible 基于 Python 開發,運維工程師對其二次開發相對比較容易; Ansible 豐富的內置模塊,幾乎可以滿足一切要求; …

Shell 信號發送與捕捉

1、Linux信號類型 信號(Signal):信號是在軟件層次上對中斷機制的一種模擬,通過給一個進程發送信號,執行相應的處理函數。 進程可以通過三種方式來響應一個信號: 1)忽略信號,即對信…

運維面試題總結

集群相關 簡述 ETCD 及其特點? etcd 是 CoreOS 團隊發起的開源項目,是一個管理配置信息和服務發現(service discovery)的項目,它的目標是構建一個高可用的分布式鍵值(key-value)數據庫&#x…

詳解設計模式:建造者模式

建造者模式(Builder Pattern)也叫做生成器模式,是 GoF 的 23 種設計模式的一種,它將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。 當我們需要實列化一個復雜的類,以得到不同結…

圖文并茂 VLAN 詳解,讓你看一遍就理解 VLAN

一、為什么需要VLAN 1.1、什么是VLAN? VLAN(Virtual LAN),翻譯成中文是“虛擬局域網”。LAN可以是由少數幾臺家用計算機構成的網絡,也可以是數以百計的計算機構成的企業網絡。VLAN所指的LAN特指使用路由器分割的網絡——也就是廣播域。 在此讓我們先復習…

認識VLAN,并學會VLAN的劃分和網絡配置實例

VLAN的劃分和網絡的配置實例 1、VLAN基礎知識 VLAN(Virtual Local Area Network)的中文名為:“虛擬局域網”,注意和VPN(虛擬專用網)進行區分。 VLAN是一種將局域網設備從邏輯上劃分(不是從物…

VLAN劃分及配置注意事項

VLAN(Virtual Local Area Network)即虛擬局域網,是將一個物理的LAN在邏輯上劃分成多個廣播域的通信技術。VLAN內的主機間可以直接通信,而VLAN間不能直接通信,從而將廣播報文限制在一個VLAN內。VLAN之間的通信是通過第3…

Docker原理剖析

一、簡介 1、了解Docker的前生LXC LXC為Linux Container的簡寫。可以提供輕量級的虛擬化,以便隔離進程和資源,而且不需要提供指令解釋機制以及全虛擬化的其他復雜性。相當于C中的NameSpace。容器有效地將由單個操作系統管理的資源劃分到孤立的組中&#…

獲取Linux內存、cpu、磁盤IO等信息

#!/bin/bash # 獲取要監控的本地服務器IP地址 IPifconfig | grep inet | grep -vE inet6|127.0.0.1 | awk {print $2} echo "IP地址:"$IP# 獲取cpu總核數 cpu_numgrep -c "model name" /proc/cpuinfo echo "cpu總核數:"$c…

Docker容器網絡解析

Docker 容器網絡的發展歷史 在 Dokcer 發布之初,Docker 是將網絡、管理、安全等集成在一起的,其中網絡模塊可以為容器提供橋接網絡、主機網絡等簡單的網絡功能。 從 1.7 版本開始,Docker正是把網絡和存儲這兩部分的功能都以插件化形式剝離出來…

將指定excel的一列數據提取到另一個excel的指定列

#!/usr/bin/env python import openpyxl bjD:/地市縣公司/西藏臺賬數據分析-設備臺帳分析.xlsx wb openpyxl.load_workbook (bj) get_sheets wb.sheetnames #print(get_sheets) TA01TA01 TA02TA02 TA03TA03 TE01TE01 YG201YG201 YG202YG202 YG203YG203 YG204YG204 YG205YG205…

Docker 數據管理介紹

默認容器的數據是保存在容器的可讀寫層,當容器被刪除時其上的數據也會丟失,所以為了實現數據的持久性則需要選擇一種數據持久技術來保存數據。官方提供了三種存儲方式:Volumes、Bind mounts和tmpfs。前面還介紹了:Docker 服務終端…

Docker 數據持久化的三種方案

容器中的數據可以存儲在容器層。但是將數據存放在容器層存在以下問題: 數據不是持久化。意思是如果容器刪除了,這些數據也就沒了 主機上的其它進程不方便訪問這些數據 對這些數據的I/O會經過存儲驅動,然后到達主機,引入了一層間…

Git 存儲原理及相關實現

Git 是目前最流行的版本控制系統,從本地開發到生產部署,我們每天都在使用 Git 進行我們的版本控制,除了日常使用的命令之外,如果想要對 Git 有更深一步的了解,那么研究下 Git 的底層存儲原理將會對理解 Git 及其使用非…

Git內部原理

Git有什么特點? fast,scalable,distributed revision control system(快速,可擴展的分布式版本控制系統) 幾乎所有操作都是本地執行 每一個clone都是整個生命周期的完整副本 the stupid content tracker&a…

git存儲原理

四種數據類型 實際上Git基于數據類型的不同,把對象分為四種:數據對象、樹對象、提交對象、標簽對象。Git文件系統的設計思路與linux文件系統相似,即將文件的內容與文件的屬性分開存儲,文件內容以“裝滿字節的袋子”存儲在文件系統…

詳解設計模式:中介者模式

中介者模式(Mediator Pattern)也被稱為調停者模式,是在 GoF 23 種設計模式中定義了的行為型模式。 中介者模式 是用來降低多個對象和類之間的通信復雜性。這種模式提供了一個中介類,該類通常處理不同類之間的通信,并支…

rebase參數以及注意事項

可以根據需要將pick參數,改變為下面代表不同作用的參數;這樣就可以對節點C和D進行不同的操作了。比如: pick:默認參數,表示不對提交節點進行任何操作,直接應用原提交節點。不創建新提交; rewor…

RPC 服務 與 HTTP 服務的區別

1、什么是RPC RPC(Remote Procedure Call)—遠程過程調用,它是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。RPC協議假定某些傳輸協議的存在,如TCP或UDP,為通信程序之間攜帶信…