我是靠谱客的博主 明理航空,最近开发中收集的这篇文章主要介绍xlwings,set对excel多列的值去重&合并,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

**

需求

**
20万条公司信息,每家公司对应四个行业细分字段,现需要对各个公司的四个细分行业数据进行整合,去除重复项,保留和合并不同值

**

代码实现

**

读写excel三方包:xlwings
注意:xlwings无法处理空值,需要预先在excel中填充空值,后续可使用excel替换函数删除
去重整合:set


import xlwings as xw

def open_sheet(filepath, sheet):
    Excel = xw.App(visible=False,add_book=False)
    Excel.display_alerts=False
    Excel.screen_updating=False
    ExcelFile = Excel.books.open(filepath)
    global Excel, ExcelFile, Excel_sheet
    #局部变量转化为全局变量
    Excel_sheet = ExcelFile.sheets[sheet]

def close_sheet():
    ExcelFile.save()
    ExcelFile.close()
    Excel.quit()

open_sheet(r'C:UsersviolaDesktopSangfor任务4.老客户demo(行业合并).xlsx','Sheet1')

value1 = Excel_sheet.range('A2').expand('down').value
value2 = Excel_sheet.range('B2').expand('down').value
value3 = Excel_sheet.range('C2').expand('down').value
new_value = []
#这四个是全局变量

for i in range(len(value1)):
    a = {value1[i], value2[i], value3[i]}
    new_value.append(str(a))

Excel_sheet.range('E2').options(transpose=True).value = new_value     
close_sheet()

最后

以上就是明理航空为你收集整理的xlwings,set对excel多列的值去重&合并的全部内容,希望文章能够帮你解决xlwings,set对excel多列的值去重&合并所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部