python实现excel和csv中的vlookup函数示例代码

 更新时间:2023年01月16日 08:36:57   作者:孟意昶  
这篇文章主要介绍了python实现excel和csv中的vlookup函数,介绍如何使用python在excel和csv里实现vlookup函数的功能,首先需要简单了解一下python如何操作excel,需要的朋友可以参考下

本篇博客会介绍如何使用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函数

到此这篇关于python实现excel和csv中的vlookup函数的文章就介绍到这了,更多相关python vlookup函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python Behave框架学习

    Python Behave框架学习

    behave是python语言的行为驱动开发,全称:Behavior-driven development,简称BDD,它是一种敏捷软件开发技术,它鼓励软件项目中的开发人员、QA和非技术或业务参与者之间进行协作,本文给大家介绍Python Behave框架,感兴趣的朋友一起看看吧
    2022-07-07
  • 从请求到响应过程中django都做了哪些处理

    从请求到响应过程中django都做了哪些处理

    这篇文章主要给大家介绍了关于从请求到响应过程中django都做了哪些处理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-08-08
  • python向已存在的excel中新增表,不覆盖原数据的实例

    python向已存在的excel中新增表,不覆盖原数据的实例

    下面小编就为大家分享一篇python向已存在的excel中新增表,不覆盖原数据的实例,具有很好超参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 详解BeautifulSoup获取特定标签下内容的方法

    详解BeautifulSoup获取特定标签下内容的方法

    这篇文章主要介绍了详解BeautifulSoup获取特定标签下内容的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • python二维键值数组生成转json的例子

    python二维键值数组生成转json的例子

    今天小编就为大家分享一篇python二维键值数组生成转json的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决

    不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决

    这篇文章主要给大家介绍了关于不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决方法,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-09-09
  • python使用requests.session模拟登录

    python使用requests.session模拟登录

    最近开发一套接口,写个Python脚本,使用requests.session模拟一下登录.本文通过实例代码给大家介绍python使用requests.session模拟登录,感兴趣的朋友跟随小编一起看看吧
    2019-08-08
  • python中os和sys模块的区别与常用方法总结

    python中os和sys模块的区别与常用方法总结

    这篇文章主要给大家介绍了关于python中os和sys模块的区别与常用方法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧。
    2017-11-11
  • Python numpy视图与副本

    Python numpy视图与副本

    这篇文章主要介绍了Python numpy视图与副本,继上一篇对numpy 模块之ndarray一文中对 ndarray 内存结构主要分为两部分metdata 、raw bata,下面来一起学习文章具体内容吧,需要的小伙伴也可以参考一下
    2022-01-01
  • Django缓存Cache使用详解

    Django缓存Cache使用详解

    这篇文章主要介绍了Django缓存Cache使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11

最新评论