中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用python怎么對excel表格進行查重

發布時間:2020-12-07 14:24:23 來源:億速云 閱讀:307 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關利用python怎么對excel表格進行查重,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

在此記錄一下

首先安裝xlwings庫

pip install xlwings

寫代碼

import xlwings as xw

# 輸入表名
title = input()

# 指定不顯示地打開Excel,讀取Excel文件
app = xw.App(visible=False, add_book=False)
wb = app.books.open(title) # 打開Excel文件
sheet = wb.sheets[0] # 選擇第0個表單

# 獲取表行數
sheetInfo = sheet.used_range
maxRow = sheetInfo.last_cell.row
# maxColumn = sheetInfo.last_cell.column
# print('表行數:',maxRow)

# 單據編號
num = []
# 報銷類型
baoxiaoType = []
# 部門
department = []
# 收款方
name = []
# 報銷金額
money = []

# 將需要的數據讀取保存
for row in range(2, maxRow):
  value = sheet.range("A" + str(row)).value
  num.append(value)

  value = sheet.range("C" + str(row)).value
  baoxiaoType.append(value)

  value = sheet.range("H" + str(row)).value
  department.append(value)

  value = sheet.range("N" + str(row)).value
  name.append(value)

  value = sheet.range("K" + str(row)).value
  money.append(value)

# print(num)
# print(baoxiaoType)
# print(department)
# print(name)
# print(money)

# 保存標記為重復的行號
flag = []
# 判斷是否已經標記為重復
# 重復返回Ture
# 否則返回False
def isRepeat(index):
  for num in flag:
    if num == index:
      return True
    else:
      continue
  return False


# 遍歷每一行,進行查重
for row in range(0, len(money)):
  # 判斷是否已經標記為重復
  # 如果重復不做判斷,結束本次循環
  # 否則斷續向下執行
  if True == isRepeat(row + 2):
    continue
  elif False == isRepeat(row + 2):
    # 獲取當前行數據
    current = money[row]
    # 遍歷后面行是否和當前行數據重復
    for subRow in range(1, len(money)):
      # 獲取下一行數據
      subCur = money[subRow]
      # 判斷當前行內容和對比行內容是否相等
      if current == subCur:
        # 再判斷編號行內容是否相等
        if num[row] == num[subRow]:
          continue
        else:
          # 對比其它內容是否相等
          if (
            (department[row] == department[subRow])
            and (baoxiaoType[row] == baoxiaoType[subRow])
            and (name[row] == name[subRow])
          ):
            # 將重復行行號保存,表格的表頭,且表頭行號從1 開始,所以行號等于當前索引+2
            flag.append(subRow + 2)
            # 設置兩個重復行的首列單元格顏色
            cell = sheet.range("A" + str(row + 2))
            cell.color = 0, 255, 255
            subcell = sheet.range("A" + str(subRow + 2))
            subcell.color = 0, 255, 255
            # 打印提示
            print("重復起始行:", row + 2, "重復行", subRow + 2)

# 保存當前工作簿
wb.save()
# 關閉當前工作簿
wb.close()
# 退出excel程序
app.quit()
# 阻塞不退出
input("Press Any Key")

鑒于媳婦辦公電腦不方便安裝python環境,所以打包成exe可執行程序,使用pyinstaller工具
安裝

pip install pyinstaller

打包

# -F 打包為單文件
# -i 指定圖標
pyinstaller -F *.py -i *.ico

上述就是小編為大家分享的利用python怎么對excel表格進行查重了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳山县| 大渡口区| 监利县| 陆河县| 南澳县| 潜山县| 吉水县| 阳江市| 吉林省| 双江| 饶平县| 泊头市| 东乌珠穆沁旗| 内黄县| 利津县| 辽阳县| 琼海市| 巨鹿县| 五华县| 中阳县| 万山特区| 聊城市| 金川县| 图们市| 金秀| 河津市| 新巴尔虎右旗| 台湾省| 昔阳县| 环江| 资讯| 华蓥市| 喜德县| 阳东县| 临沂市| 高要市| 松溪县| 佳木斯市| 观塘区| 黄冈市| 黄大仙区|