python实现excel和csv中的vlookup函数示例代码
作者:孟意昶 发布时间:2021-05-06 07:22:48
标签:python,vlookup,函数
本篇博客会介绍如何使用python
在excel和csv里实现vlookup函数的功能,首先需要简单了解一下python
如何操作excel
1. python处理excel
1.1 删除excel中指定行
在文件夹里创建了一个excel文件,可以看到里面放的是三国人物的数据
会发现在【蜀】里,多了一个【晋】,所以此时我们先实现删掉这条数据
import pandas as pd
import openpyxl
import os
shu = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/蜀.xlsx'
#删除指定行
df_shu = pd.read_excel(shu)
selected_rows = df_shu.loc[df_shu["国家"] == "晋"]
print(selected_rows)
这时我们就已经将需要删除的数据找了出来
此时可以使用数据框的drop()
方法来删除选定的行
df_shu = df_shu.drop(selected_rows.index)
print(df_shu)
现在只需要将结果存回excel就完成了这个需求
#保存至excel
df_shu.to_excel(shu, index=False)
此时再打开文件夹内的excel就会发现已经删掉了【晋】的数据
1.2 获取excel的最大行数
在不打开一个excel的前提下,可以通过openpyxl
来直接获取这个文件的最大行数,方便对这个文件大小有个初步的理解
import pandas as pd
import openpyxl
import os
shu = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/蜀.xlsx'
wei = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/魏.xlsx'
wu = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/吴.xlsx'
#删除指定行
df_shu = pd.read_excel(shu)
df_wei = pd.read_excel(wei)
df_wu = pd.read_excel(wu)
#查看最大行数
workbook = openpyxl.load_workbook(wei)
worksheet = workbook['Sheet1']
max_row = worksheet.max_row
print(max_row)
这样就可以直接获取最大行数为4
1.3 将excel表进行上下拼接
在当前的示例中,魏蜀吴三个势力的数据是分开存放的,现在想要汇总出整个三国的数据,就可以先提取表头,再将剩下的内容合并在一起,这时可以通过concat
函数进行实现
import pandas as pd
import openpyxl
import os
shu = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/蜀.xlsx'
wei = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/魏.xlsx'
wu = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/吴.xlsx'
#删除指定行
df_shu = pd.read_excel(shu)
df_wei = pd.read_excel(wei)
df_wu = pd.read_excel(wu)
#两张表进行上下拼接
df = pd.concat([df_shu, df_wei, df_wu])
# 将合并后的数据写入新的Excel文件
df.to_excel(r"D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/三国.xlsx", index=False)
运行之后就会发现在当前文件夹里多出来了一个新文件
而里面的内容也确实是几个文件的内容拼接
1.4 实现excel中的vlookup函数
平时在工作中,会需要将两份excel进行vlookup操作,如果数据量比较大,则程序会运行的比较慢,这时候就可以用merge
函数进行实现
import pandas as pd
import openpyxl
import os
#两张表进行vlookup
sanguo = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/三国.xlsx'
wuqi = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/武器.xlsx'
df_sanguo = pd.read_excel(sanguo)
df_wuqi = pd.read_excel(wuqi)
df=pd.merge(df_sanguo, df_wuqi, how= 'left',left_on = '人物', right_on = '名称')
print(df)
其中how
参数是连接方式,这里使用的是左连接,left_on
和right_on
参数是两张表关联所使用的字段名称,运行程序后会直接看到关联后的结果
2. python处理csv
经过实测,对csv文件进行vlookup操作和对excel是一样的,都可以直接使用merge
函数
来源:https://blog.csdn.net/weixin_44999258/article/details/128450052
0
投稿
猜你喜欢
- 1:strip()方法去除字符串开头或者结尾的空格>>> a = " a b c ">>&
- JSON格式数据简介JSON 全称“JavaScript Object Notation”,译为&a
- 1.普通的输出:print(str)#str是任意一个字符串,数字···2.格式化输出: print('1,2,%s,%d'
- 阅读上一篇:css基础教程属性篇 本篇主要介绍css对边框(border)的属性控制和链接(link)的伪类选择器.边框(border):
- 鲲之鹏的技术人员将在本文介绍一种通过模拟操作微信App的方式采集指定公众号的所有历史数据的方法。通过我们抓包分析发现,微信公众号的历史数据是
- L2正则化原理:过拟合的原理:在loss下降,进行拟合的过程中(斜线),不同的batch数据样本造成红色曲线的波动大,图中低点也就是过拟合,
- 有时候我们没办法得到pdf或者word文档,这个时候会使用手机或者相机进行拍照,往往会出现背景,打印出来就是灰色的或者有黑色的背景,这个时候
- 模拟动态产生字母验证码图片模拟生成验证码,首先要做的是生成随机的字母,然后对字母进行模糊处理。这里介绍一下 Python 提供的 Pillo
- 本文实例讲述了Python Tensor FLow简单使用方法。分享给大家供大家参考,具体如下:1、基础概念Tensor表示张量,是一种多维
- 一、前言设计应用程序时,有时不希望将一个不太相关的功能集成到程序中,或者是因为该功能与当前设计的应用程序联系不大,或者是因为该功能已经可以使
- python 3.x 环境下,使用h5py加载HDF5文件,查看keys,如下:>>> import h5py>&g
- 对于regex库的使用不难,因为本身就是python中自带的库,所以在调用上也是常见的库使用类型,大部分时候都是用于搜索上下文信息的,但是有
- 1.sp_helpsort SELECT SERVERPROPERTY ('Collation') 查看你的排序规则. 不过
- 前言序锦很多时候,当我们在使用编辑器的时候,遇到复制粘贴,修改别人代码等等的时候,都会遇到这个让人头疼的问题,那就是如何解决格式问题,今天就
- Python continue语句:当执行到 continue 语句时,将不再执行本次循环中 continue 语句接下来的部分,而是继续下
- Python-apply(lambda x: )使用def instant_order_deal(plat, special_product
- 上一次,我们谈到在ASP中如何利用“正则表达式”对象来实现各种数据的校验,文中描述了正则表达式对象的强大功能,接下来,我们来看看有关“正则表
- 一个出错的例子#coding:utf-8s = u'中文'f = open("test.txt",&qu
- Python版本 实现了比之前的xxftp更多更完善的功能1、继续支持多用户2、继续支持虚拟目录3、增加支持用户根目录以及映射虚拟目录的权限
- SQL Server 2000安装问题集锦1、先把SQL Server卸载(卸载不掉也没有关系,继续下面的操作)2、把Microsoft S