import pandas as pd
import openpyxl
from openpyxl.styles import Border, Side,colors

wb = openpyxl.load_workbook('../xlwings/vlookup.xlsx')
sheet1 = wb.sheetnames[0]
df_total = pd.read_excel('../xlwings/vlookup.xlsx',sheet_name=sheet1)
students_dic = {
'姓名':[],
'电话':[],
'班级':[]

}
for sheet_name in wb.sheetnames[1:]:
sheet = wb[sheet_name]
for row in sheet.iter_cols(min_row=2, max_row=sheet.max_row, min_col=1,max_col=1):
for cell in row:
students_dic['姓名'].append(cell.value)
cell.value = sheet_name[:2]
students_dic['班级'].append(cell.value)
for row in sheet.iter_cols(min_row=2, max_row=sheet.max_row, min_col=2,max_col=2):
for cell in row:
students_dic['电话'].append(cell.value)

df_students = pd.DataFrame(data=students_dic)
df_merge = pd.merge(left=df_total,right=df_students,left_on=["班级","姓名"],right_on=["班级","姓名"])
df_merge["电话号码"] = df_merge["电话"]
df_merge.drop(columns="电话",inplace=True)
df_merge = df_merge.sort_values("班级")
df_merge.to_excel('../xlwings/result2_vlookup.xlsx',index=False)

border = Border(
left=Side(border_style="medium", color=colors.BLACK),
right=Side(border_style="medium", color=colors.BLACK),
top=Side(border_style="medium", color=colors.BLACK),
bottom=Side(border_style="medium", color=colors.BLACK)
)

wb2 = openpyxl.load_workbook('../xlwings/result2_vlookup.xlsx')
sheet2 = wb2.active
sheet2.title = "多个sheet_vlookup_多列"
for row in sheet2.iter_rows(min_row=1,max_row=sheet2.max_row, min_col=1, max_col=sheet2.max_column):
for cell in row:
cell.border=border
wb2.save('../xlwings/result2_vlookup.xlsx')

python openpyxl 多个sheet vlookup的更多相关文章

  1. 利用Python openpyxl操作Excel

    from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = ...

  2. 转 Python - openpyxl 读写操作Excel

    Python - openpyxl 读写操作Excel   openpyxl特点   openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间 ...

  3. python openpyxl、RESTful、Webservice接口 基础知识

    最近 在做接口测试的时候,遇到如下问题:如何通过数据驱动去做批量接口测试呢,我们的测试数据放在哪里去维护?下面整理出相关点,供大家参考 1.如何维护接口测试数据:放在excel文件中,通过python ...

  4. python openpyxl 操作 excel

    初识与安装 Openpyxl is a Python library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files. 安装 ...

  5. Python openpyxl : Excel 文档简单操作

    安装方法 使用 pip 或通过专门python IDE(如pyCharm)进行安装 其中pip安装方法,命令行输入:  pip install openpyxl 基本使用 第一步先是要导入 openp ...

  6. Python openpyxl、pandas操作Excel方法简介与具体实例

    本篇重点讲解windows系统下 Python3.5中第三方excel操作库-openpyxl: 其实Python第三方库有很多可以操作Excel,如:xlrd,xlwt,xlwings甚至注明的数据 ...

  7. python excel练习:新建sheet、修改名称、设定颜色、打印sheet名称,复制,保存

    练习: 新建一个sheet 设定一个sheet的插入位置 修改sheet的名称为‘xiaxiaoxu’ 设定该sheet的背景标签的颜色 获取全部sheet的名称,打印每个sheet的名称 copy一 ...

  8. python openpyxl 封装Execl常用操作的方法

    封装Excel操作方法:先装openpyxl:pip install openpyxl==2.4.5(可以指定版本) 封装脚本:#encoding=utf-8 from openpyxl import ...

  9. 用python + openpyxl处理excel(07+)文档 + 一些中文处理的技巧

    sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&am ...

  10. Python openpyxl Read

    #! /usr/bin/env python # coding=utf-8 from openpyxl import Workbook, load_workbook wb = load_workboo ...

随机推荐

  1. pip备份、安装requirements.txt中的包和anaconda的安装(linux)

    pip备份.安装requirements.txt中的包和anaconda的安装(linux)   1. 从已有的环境中,备份已经安装的package pip freeze > requireme ...

  2. 理解cpu过高的逻辑思维与分析方法

    工作经常碰到负载过高,cpu占有太高,系统变慢,运维通常做的第一件事就是通过top或者uptime命令来了解系统负载的情况 通常uptime后会出现三个小数,就是平均负载值,那真正的了解这个平均负载值 ...

  3. 钉钉机器人webhook的使用

    1.群启动webhook机器人:右上角设置--智能助手---添加机器人---其他机器人 2.获取webhook地址 3.调用方式不一样,则访问方式就不一样 ---------------------- ...

  4. Java方法之可变参数

    可变参数[不定项] JDK 1.5开始,Java支持传递同类型的可变参数给一个方法. 在方法声明中,在指定参数类型后加一个省略号(...). 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数 ...

  5. unity 发布WebGL版本找不到unity自带的类

    加载asset bundle的时候出现Could not produce class with ID XXX的错误 在asset 文件夹下建一个Link的XML,内容如下: <?xml vers ...

  6. Python Cli 编写指南

    Python Cli 编写指南 python实现cli 环境: python 3.8 库 python自带argparse 指南 简单示例 : cli.py import argparse def c ...

  7. Window:下载并安装FileZilla客户端

    FileZilla官方网站:https://filezilla-project.org/ 环境 操作系统:Window 10 企业版LTSC;内存:8GB;操作类型:64位. 说明 本人想在腾讯云的系 ...

  8. golang实现请求cloudflare修改域名A记录解析

    现在有些DNS解析要收费,国内的几个厂商需要实名制.下面给出golang请求cloudflare修改域名A记录解析的代码. 准备工作: 在域名购买服务商处,将dns解析服务器改为cloudflare的 ...

  9. 《Unix/Linux系统编程》第十四章学习笔记 20201209戴骏

    MySQL数据库系统 知识点总结 一.MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一 ...

  10. pythonn全栈学习笔记--logging模块学习(四)

    一.logging相关配置 1 import logging 2 """ 3 asctime:运行时间 4 name:主模块名称 5 levelname:日志级别 INF ...