用Python玩转Excel的五大功能!

在日常的数据处理工作中,Excel无疑是一个强大的工具。然而,当数据量较大或需要自动化处理时,Python凭借其强大的库支持,如pandas和openpyxl,能够更高效地处理Excel文件。

本文将介绍Python中常用的五种Excel操作**,**并额外添加两个实用功能,帮助你提升数据处理和文件美化能力。

一、读写Excel数据

为了演示方便,我们先生成一张Excel表:



import pandas as pd  
  
\# 创建一个DataFrame  
data = {  
    'Name': \['John', 'Anna', 'Peter', 'Linda'\],  
    'Age': \[28, 34, 29, 32\]  
}  
df = pd.DataFrame(data)  
  
\# 写入Excel文件  
df.to\_excel('output.xlsx', index=False)  
  
\# 读取Excel文件  
df = pd.read\_excel('output.xlsx', sheet\_name='Sheet1')  
print(df)


我们生产了一个dataframe数据表,利用to_excel函数将这个表保存到本地路径,保存为’output.xlsx’。

然后再用read_excel函数将这个Excel表读取进来,数据如下:

现在,这些数据已经被保存到output.xlsx这个Excel表格中,接下来我们对这份数据进行后续操作。

二、修改Excel文件

现在我们将第一个人“John”的年龄改为30岁:



\# 读取Excel文件   
df = pd.read\_excel('output.xlsx')  
  
\# 修改数据   
df.loc\[0, 'Age'\] = 30  \# 将第一行的Age改为30   
  
\# 写入Excel文件   
df.to\_excel('modified.xlsx', index=False)


我们先把刚才保存好的output.xlsx读取进来,修改第一个人的年龄为30岁,然后再保存为modified.xlsx。

可以看到,当前路径下有两张Excel表格。

我们打开modified.xlsx看看:

可以看到John的年龄被修改为30岁了。

三、添加和删除行列

接下来,我们在modified.xlsx表格的基础上做一些添加和删除的操作

●新增一个人的信息;

●添加一列“Pet”,给这几位靓仔添加一些宠物;

●为了保护个人隐私,把City这一列删除。

如下:



\# 读取Excel文件   
df = pd.read\_excel('modified.xlsx')  
  
\# 添加行  
df.loc\[4, :\] = \['Bob', 45, 'Osaka', 'Dancer'\]  
\# 添加列  
df\['Pet'\] = \['Cat', 'Lion', 'Dog', 'Tiger', 'Monkey'\]  
\# 删除列  
df.drop('City', axis=1, inplace=True)  
  
\# 写入Excel文件  
df.to\_excel('modified2.xlsx', index=False)


我们首先利用df.loc定位到最后一行,新增Bob的相关信息,然后添加Pet这一列的信息,删除Age这一列,最后保存为modified2.xlsx:

可以看到,Bob的信息被添加进去了,而且City也被删除了,此外,每位靓仔都拥有了一个宠物!

四、筛选和排序数据

接下来,我们把表格中年龄大于30岁的人筛选出来,保存到另一张Excel表中:



\# 读取Excel文件  
df = pd.read\_excel('modified2.xlsx')  
  
\# 筛选Age大于30的数据  
filtered\_df = df\[df\['Age'\] > 30\]  
\# 按Age列排序   
sorted\_df = df.sort\_values(by='Age')  
  
\# 写入Excel文件  
df.to\_excel('modified3.xlsx', index=False)


首先依然是读取Excel表格,然后利用dataframe的筛选语句,筛选出Age这一列大于30的人,再用sort_values函数进行排序。

注意,**sort_values函数默认为升序排列,**如果想改为降序排列,需要设定参数ascending=False。

现在新生成的modified3.xlsx表格如下:

五、实现Excel的VLOOKUP

最后我们来点复杂的操作,**实现Excel的王牌函数:**VLOOKUP!

VLOOKUP函数本质上是把两种表格按照某列关键字进行横向拼接,现在我们再生成一张新表:

没错,就是刚才我们删除的City……这张新表命名为city.xlsx。

现在我们要以Name这一列作为关键字,把modified3.xlsx与city.xlsx这两张表进行横向拼接:



\# VLOOLUP函数  
df1 = pd.read\_excel('modified3.xlsx')  
df2 = pd.read\_excel('city.xlsx')  
df\_new = pd.merge(df1, df2, on='Name', how='left')  
df\_new.to\_excel('last.xlsx')  
print(df\_new)


这段代码的关键点在于pd.merge函数。

该函数的主要参数如下:

●前两个参数的参与拼接的表格,df1是左表,df2是右表;

●on参数用于指定关键字,一般只用一个关键字;

●how参数用于设定合并方式,可以设定为’left’, ‘right’, ‘inner’或’outer’。**这里我们设定为’left’,意思是以左表df1作为标准进行合并。**左表是读取的modified3.xlsx, 这张表里只有年龄大于30岁的人。

最终生成的last.xlsx表格如下:

任务完成!

通过本文,你学习了如何使用Python进行常用的Excel操作。这些操作能够帮助你更高效地处理大量数据,提升工作效率。

掌握这些技能后,你可以进一步探索python办公自动化的其他功能,以应对更复杂的数据处理需求。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值