最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 如何快速找出兩個(gè)電子表中數(shù)據(jù)的差異

 更新時(shí)間:2017年05月26日 08:14:43   投稿:jingxian  
下面小編就為大家?guī)硪黄猵ython 如何快速找出兩個(gè)電子表中數(shù)據(jù)的差異。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

最近剛接觸python,找點(diǎn)小任務(wù)來練練手,希望自己在實(shí)踐中不斷的鍛煉自己解決問題的能力。

公司里會(huì)有這樣的場(chǎng)景:有一張電子表格的內(nèi)容由兩三個(gè)部門或者更多的部門用到,這些員工會(huì)在維護(hù)這些表格中不定期的跟新一些自己部門的數(shù)據(jù),時(shí)間久了,大家的數(shù)據(jù)就開始打架了,非常不利于管理。怎樣快速找到兩個(gè)或者多個(gè)電子表格中數(shù)據(jù)的差異呢?

解決辦法:

1. Excel自帶的方法(有興趣的自行百度)

2. python 寫一個(gè)小腳本

#!/usr/bin/env python
# -*- coding: utf-8 -*-

#導(dǎo)入模塊 openpyxl 
import openpyxl
from openpyxl.styles import PatternFill
from openpyxl.styles import colors
from openpyxl.styles import Font, Color

#讀取excel文件
#括號(hào)中的字符串為你要比較的兩個(gè)excel的路徑,注意用“/”
wb_a = openpyxl.load_workbook('d:/BAKFILE/d046532/Desktop/check excel/test.xlsx')
wb_b = openpyxl.load_workbook('d:/BAKFILE/d046532/Desktop/check excel/test2.xlsx')
#定義一個(gè)方法來獲取表格中某一列的內(nèi)容,返回一個(gè)列表
#在這里,我的表格中:IP是具有唯一性的,所以我用它來區(qū)分?jǐn)?shù)據(jù)的差異,而IP這一列在我的表格中是第“G”列
def getIP(wb):
  sheet = wb.get_active_sheet()
  ip = []
  for cellobj in sheet['G']:
    ip.append(cellobj.value)

  return ip
#獲得ip列表
ip_a = getIP(wb_a)
ip_b = getIP(wb_b)
#將兩個(gè)列表轉(zhuǎn)換成集合
aa = set(ip_a)
bb = set(ip_b)
#找出兩個(gè)列表的不同行,并轉(zhuǎn)換成列表
difference = list(aa ^ bb)
#打印出列表中的元素
#到這一步,兩個(gè)表格中不同的數(shù)據(jù)已經(jīng)被找出來了
for i in difference:
  print (i)

#將不同行高亮顯示
print ("開始第一張表" + "----" *10)
a = wb_a.get_active_sheet()['G']
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.get_active_sheet()['G']
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('d:/BAKFILE/d046532/Desktop/a.xlsx')
wb_b.save('d:/BAKFILE/d046532/Desktop/b.xlsx')

這樣,就會(huì)保存兩個(gè)excel的副本,并在這個(gè)副本中用單元格填充色和字體顏色標(biāo)注出兩個(gè)表格中不同的數(shù)據(jù)差異

未解決:

1. 怎樣將這些有差異的數(shù)據(jù)補(bǔ)充到一張表里,形成一個(gè)全集表

2. 怎么優(yōu)化精簡(jiǎn)代碼

以上這篇python 如何快速找出兩個(gè)電子表中數(shù)據(jù)的差異就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解python 注釋、變量、類型

    詳解python 注釋、變量、類型

    本文通過實(shí)例代碼較詳細(xì)的給大家介紹了python 注釋、變量、類型的相關(guān)操作及實(shí)現(xiàn)代碼,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-08-08
  • Python去除字符串中的標(biāo)點(diǎn)符號(hào)的最優(yōu)方式

    Python去除字符串中的標(biāo)點(diǎn)符號(hào)的最優(yōu)方式

    在Python編程中,去除字符串標(biāo)點(diǎn)符號(hào)是一項(xiàng)常見任務(wù),關(guān)鍵在于文本分析和數(shù)據(jù)清洗,Python提供了多種方法,包括使用str.replace()、str.translate()結(jié)合str.maketrans(),以及使用正則表達(dá)式,另外,可以利用string模塊中的punctuation屬性快速實(shí)現(xiàn)
    2024-09-09
  • Django 拼接兩個(gè)queryset 或是兩個(gè)不可以相加的對(duì)象實(shí)例

    Django 拼接兩個(gè)queryset 或是兩個(gè)不可以相加的對(duì)象實(shí)例

    這篇文章主要介紹了Django 拼接兩個(gè)queryset 或是兩個(gè)不可以相加的對(duì)象實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • pytorch和numpy默認(rèn)浮點(diǎn)類型位數(shù)詳解

    pytorch和numpy默認(rèn)浮點(diǎn)類型位數(shù)詳解

    這篇文章主要介紹了pytorch和numpy默認(rèn)浮點(diǎn)類型位數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • caffe的python接口繪制loss和accuracy曲線

    caffe的python接口繪制loss和accuracy曲線

    這篇文章主要為大家介紹了caffe的python接口繪制loss和accuracy曲線示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Python使用sqlite3第三方庫(kù)讀寫SQLite數(shù)據(jù)庫(kù)的方法步驟

    Python使用sqlite3第三方庫(kù)讀寫SQLite數(shù)據(jù)庫(kù)的方法步驟

    數(shù)據(jù)庫(kù)非常重要,程序的數(shù)據(jù)增刪改查需要數(shù)據(jù)庫(kù)支持,python處理數(shù)據(jù)庫(kù)非常簡(jiǎn)單,而且不同類型的數(shù)據(jù)庫(kù)處理邏輯方式大同小異,下面這篇文章主要給大家介紹了關(guān)于Python使用sqlite3第三方庫(kù)讀寫SQLite數(shù)據(jù)庫(kù)的方法步驟,需要的朋友可以參考下
    2022-07-07
  • Django Sitemap 站點(diǎn)地圖的實(shí)現(xiàn)方法

    Django Sitemap 站點(diǎn)地圖的實(shí)現(xiàn)方法

    這篇文章主要介紹了Django Sitemap 站點(diǎn)地圖的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • PyQt5圖形界面播放音樂的實(shí)例

    PyQt5圖形界面播放音樂的實(shí)例

    今天小編就為大家分享一篇PyQt5圖形界面播放音樂的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • 在Python中實(shí)現(xiàn)函數(shù)重載的示例代碼

    在Python中實(shí)現(xiàn)函數(shù)重載的示例代碼

    這篇文章主要介紹了在Python中實(shí)現(xiàn)函數(shù)重載的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • python中selenium庫(kù)的基本使用詳解

    python中selenium庫(kù)的基本使用詳解

    這篇文章主要介紹了python中selenium庫(kù)的基本使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07

最新評(píng)論

南部县| 梁平县| 宜黄县| 眉山市| 巴南区| 绥宁县| 长武县| 商城县| 长阳| 普洱| 仁怀市| 政和县| 吴川市| 敦化市| 莱西市| 孟村| 娄烦县| 朝阳区| 东乌珠穆沁旗| 绍兴市| 灯塔市| 商河县| 扎囊县| 安丘市| 吐鲁番市| 靖远县| 涿鹿县| 博湖县| 毕节市| 北京市| 乐平市| 永仁县| 桃园市| 肇庆市| 普兰县| 观塘区| 三门峡市| 峨山| 江源县| 枞阳县| 灯塔市|