提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
两个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提供了大量能使我们快速便捷地处理数据的函数和方法。