python入门经典视频系列教程(免费,2K超清,送书)

https://study.163.com/course/courseMain.htm?courseId=1006183019&share=2&shareId=400000000398149

# -*- coding: utf-8 -*-
"""
原创作者Toby,qq:231469242
Spyder Editor
excel字段覆盖
参数8个:
两个excel名字
两个sheet名字
4个字段名字
"""
import openpyxl
from openpyxl.cell import get_column_letter,column_index_from_string
#两个excel名字
excel_name1='test.xlsx'
excel_name2='database.xlsx'
#两个表格名字
sheet_name1="Sheet1"
sheet_name2="Sheet1"
wb1=openpyxl.load_workbook(excel_name1)
wb2=openpyxl.load_workbook(excel_name2)
#两个表格名字
sheet=wb1.get_sheet_by_name(sheet_name1)
database=wb2.get_sheet_by_name(sheet_name2) #四个字段参数
#sheet
columnname="C" #共同字段
columnvalue="E" #表格需要更新字段
#database
columnname1="B" #共同字段
columnvalue1="C" #数据库值字段
start=1 sheet_columnvalue_index=column_index_from_string(columnvalue)
sheet_columnvalue_list=sheet.columns[sheet_columnvalue_index-1] sheet_columname_index=column_index_from_string(columnname)
sheet_columnname_list=sheet.columns[sheet_columname_index-1] #根据索引字母,返回列的值,用列表存储
def Column_list(letter,thesheet):
value_list=[]
column_index=column_index_from_string(letter)
cell_list=thesheet.columns[column_index-1]
for cellObj in cell_list[start:]: #console显示不全前面内容,出现第一项不是第一个
#print(cellObj.value)
value_list.append(cellObj.value)
return value_list #数据库的名字和值列表
database_name_list=Column_list(columnname1,database)
database_value_list=Column_list(columnvalue1,database) #合并database名字和值,生成词典
combine_list=zip(database_name_list,database_value_list)
database_dict=dict(combine_list) #sheet的名字和值列表
sheet_name_list=Column_list(columnname,sheet)
sheet_value_list=Column_list(columnvalue,sheet) for i in range(1,len(sheet_columnvalue_list)):
cell=sheet_columnvalue_list[i]
cell1=sheet_columnname_list[i]
#print ("cell:",cell)
#print ("cell1:",cell1)
#如果sheet更新字段的cell值为None,且索引名字在数据库
if cell.value==None and cell1.value in database_name_list:
value=database_dict[cell1.value]
sheet_columnvalue_list[i].value=value #写入查询的值
wb1.save(excel_name1)
wb2.save(excel_name2)

 https://study.163.com/provider/400000000398149/index.htm?share=2&shareId=400000000398149( 欢迎关注博主主页,学习python视频资源,还有大量免费python经典文章)

  

excel_vlookup函数_python代码实现的更多相关文章

  1. 编程算法 - 求1+2+...+n(函数指针) 代码(C++)

    求1+2+...+n(函数指针) 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 求1+2+...+n, 要求不能使用乘除法\for\whi ...

  2. 在vs.net 2010,2015 等版本,给JS函数添加代码提示\注释

    经常编写JS的朋友常常会因为函数写多了,隔一段时间就会忘记了函数的用途,或者函数里带的参数作用情况,这个时候会联想到VS工具里的强大提示功能,多希望也能在JS上实现呀,告诉你,这个想法并不是多难,VS ...

  3. python定义的一个简单的shell函数的代码

    把写代码过程中经常用到的一些代码段做个记录,如下代码段是关于python定义的一个简单的shell函数的代码. pipe = subprocess.Popen(cmd, stdout=subproce ...

  4. iOS 使用宏定义函数和代码块

    iOS使用宏定义函数和代码块 今天在开发过程中碰到一个问题:就是父类中要向外发送通知,然后子类中或者其他类中来接收它.当然一般是把它写到类方法中去,但是有个问题,就是如果调用的类不是它的子类,就不能直 ...

  5. 编程算法 - 求1+2+...+n(函数继承) 代码(C++)

    求1+2+...+n(函数继承) 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 求1+2+...+n, 要求不能使用乘除法\for\whi ...

  6. go每个函数写代码例子

    https://github.com/astaxie/gopkg 由于目前golang的手册里面针对函数的例子太少了,很多时候不知道怎么使用,好多人都是看源代码才明白怎么用,这个给我们快速开发gola ...

  7. python中实现延时回调普通函数示例代码

    python中实现延时回调普通函数示例代码 这篇文章主要给大家介绍了关于python中实现延时回调普通函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的 ...

  8. Python学习笔记(五)函数和代码复用

    函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Python提供了许多内建函数,比如print().同样,你也可以自己创建函数, ...

  9. Python基础篇(三)_函数及代码复用

    Python基础篇_函数及代码复用 函数的定义.使用: 函数的定义:通过保留字def实现. 定义形式:def <函数名>(<参数列表>): <函数体> return ...

随机推荐

  1. 这个在Github有52100颗星星的项目,怎么还有人不知道鸭!

    Ta是近两年Docker最为火热的开源项目之一.Docker 开启了容器时代,而Ta则革新了我们对于云计算,软件开发流程,业务平台等等方面的认知. Ta就是Kubernetes,/k(j)uːbəˈn ...

  2. win10家庭版本不能连接远程桌面

    出现身份验证错误 要求的函数不受支持,CredSSP 加密 Oracle 修正 然后网上大多数教程是叫你修改组策略,然后试过坑的我发现自己的家庭版没有组策略,天真的我在网上找寻了装组策略的代码,一顿捣 ...

  3. [postman][API 测试]用Postman做RestAPI测试学习笔记

    痛点:最近有个API网关的兼容性测试任务,需要验证API是否可用,返回值符合预期,如果手工复制粘贴curl命令,繁琐且低效 调研时发现了Postman 这个chrom插件,试用了2天后发现使用起来很方 ...

  4. 【OF框架】新建库表及对应实体,并实现简单的增删改查操作,封装操作标准WebApi

    准备 搭建好项目框架及数据库,了解框架规范. 1.数据库表和实体一一对应,表名实体名名字相同,用小写,下划线连接.字段名用驼峰命名法,首字母大写. 2.实体放在Entities目录下,继承Entity ...

  5. Python + Selenium 主要实现的功能

    selenium 技术 元素定位的几种方法 WebDriver API ,selenium IDE,selenium grid python 技术 函数.类.方法: 读写文件, unitest单元测试 ...

  6. GoogLeNet网络的Pytorch实现

    1.文章原文地址 Going deeper with convolutions 2.文章摘要 我们提出了一种代号为Inception的深度卷积神经网络,它在ILSVRC2014的分类和检测任务上都取得 ...

  7. MyBatis3-topic-01 -安装/下载/官方文档 -执行输入一条已经映射的sql语句

    mybatis XML 映射配置文件 (官方文档) -对象工厂(objectFactory) -配置环境(environments) -映射器(mappers) 本地IDEA搭建/测试步骤 创建数据库 ...

  8. yum用法笔记

    yum是指通过linux系统的一个命令也是一个软件包管理工具,基于rpm管理,通过命令下载指定网站的包源,下载好之后自动解压和分配 下载yum:一般linux的服务器在出厂前都自带yum,包括虚拟机 ...

  9. Selenium常用API的使用java语言之7-控制浏览器操作

    (六)控制浏览器操作 1.控制浏览器窗口大小 有时候我们希望能以某种浏览器尺寸找开,访问的页面在这种尺寸下运行.例如可以将浏览器设置成移动端大小(480* 800),然后访问移动站点,对其样式进行评估 ...

  10. [Dart] Manipulate Lists/Arrays in Dart

    We will learn how to work with Lists using a variety of methods made available in the dart:core libr ...