使用pandas实现excel的vlookup

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

两个excel表格,证件号码唯一,使用vlookup函数进行处理


提示:以下是本篇文章正文内容,下面案例可供参考

一、代码

要点在于使用merge函数

import pandas as pd
import numpy as np
writer=pd.ExcelWriter(r"F:\work\ashimen\result2.xlsx")
df1=pd.read_excel(r"F:\work\ashimen\result.xlsx",sheet_name='Sheet1')
df2=pd.read_excel(r"F:\work\ashimen\居民缴费明细.xlsx",sheet_name='sheet1')
data=df2.loc[:,["证件号码","缴费状态"]]
data3 = pd.merge(df1,data,how = 'left',on = "证件号码") 
data3.head()
data3.to_excel(writer,sheet_name='Sheet1')
writer.save()

运行时:

提示:这里填写问题的分析:

一开始对于表二的处理使用函数:df2.loc[:,“zhengjianhaoma”,“xingming”],运行时报错说有多个索引器,所以要对loc函数各个参数怎么使用要牢记:df.loc[:;“zhengjianhm”:“jiaofeizhuangtai”]这是提取了从证件号码到缴费状态所有列的信息
data=df2.loc[:,[“证件号码”,“缴费状态”]]这是只搞了两列的

解决方案:

提示:这里填写该问题的具体解决方案:
data=df2.loc[:,[“证件号码”,“缴费状态”]]这是只搞了两列的

二、列表合并后如何调整列的位置

运用场景

比如一个成绩表和学生姓名表合并后,列是[学号,成绩,姓名,性别],如何变成[学号,姓名,性别,成绩]
代码如下(示例):
insert() 函数用于将指定对象插入列表的指定位置。运用于列表list

#仅仅只有调换顺序的代码
#查看列名
df.columns
#将columns变成Python的列表形式
new_columns=df.columns.to_list()
#按逆序insert,会将"姓名",性别放到学号的后面
#[::-1]这是为了实现逆序
for name in["姓名","性别"][::-1]:
    new_columns.remove(name)
    new_columns.insert(new_columns.index("学号")+1,name)
df=df.reindex(columns=new_columns)

三、输出问题

1.多表写入一个excel中的多sheet中

代码如下(示例):

writer=pd.ExcelWriter(r"G:\360Downloads\myself\zuoye\6月\alter.xlsx")
add.to_excel(writer,sheet_name="add8487",index=0)
cut.to_excel(writer,sheet_name="cut8453",index=0)
writer.save()
writer.close()
#第二种方法
writer = pd.ExcelWriter('filename.xlsx')			#重点1:writer不能在下面的for循环中
counter=0
for sy in range(1,10):
    counter=counter+1
    data = pd.DataFrame(c) 
    data.to_excel(writer, 'sheet'+str(counter))
     
writer.save()		#重点2:save不能在for循环里
writer.close()
————————————————


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。


  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值