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. Flink Application Development DataStream API Operators Overview-- Flink应用程序开发DataStream API操作符概览

    目录 概览 DataStream转换 物理分区 任务链和资源组 翻译原文- Application Development DataStream API Operators 概览 操作符将一个或多个D ...

  2. mac 查看本机ip

    创建 ip.sh 文件,文件内容为 ifconfig -a | grep -e "inet[^6]" |\ sed -e "s/.*inet[^6][^0-9]*\([0 ...

  3. SPI接口

    串行外设接口(Serial Peripheral Interface)是一种同步外设接口,它可以使单片机与各种外围设备以串行方式进行通信以交换信息.SPI最早是Motorola公司提出的全双工三线同步 ...

  4. winform 登录后跳转百度地图报错 使用委托解决

    最近用winform做一个登录后跳转到百度地图的小程序,使用了线程,winform的UI是单线程操作的,由于百度地图写在另外一个窗体,导致报错.后来使用了委托解决了这个小问题. delegate vo ...

  5. 1.Easy Touch 3.1

    Easy Touch 3.1 Hedgehog Team(导入 Easy Touch 插件时自动在菜单栏) Extensions: 拓展 Adding a new joytick: 虚拟摇杆 Addi ...

  6. 1247. 交换字符使得字符串相同 (Medium)

    问题描述 1247. 交换字符使得字符串相同 (Medium) 有两个长度相同的字符串 s1 和 s2,且它们其中 只含有 字符 "x" 和 "y",你需要通过 ...

  7. leetcode 655. 输出二叉树 【时间击败100.00%】 【内存击败96.49%】

    1 public List<List<String>> printTree(TreeNode root) { 2 ArrayList<List<String> ...

  8. Spring可扩展的XML Schema机制 NamespaceHandlerSupport

    对xml文件的解析 1.可自定义标签, 2.可以覆盖原有的注册方法, 包括但不限于bean 加载,注解

  9. Leetcode本地阅读器开发--01界面设计一

    返回项目声明及目录:Leetcode本地阅读器开发--总声明 整个界面设计如下:后续可能会不断优化和加入新功能 1.启动后界面 2.进行具体题目搜索 3.进行分类搜索 本节主要介绍程序界面的绘制: 1 ...

  10. Erueka注册源码分析

    在com.netfix.discovery包下有一个DiscoveryClient类中包含注册方法,DiscoveryClient实现了EurekaClient接口,并且是一个单例模式,而Eureka ...