快速而简便:使用Pandas操作Excel的技巧与方法

前言

今天接到一个需求,需要读取excel,将其中两列分别作为字典的key、value进行保存,怎么读取excel呢,之前好像使用过Pandas,但是接触不多,借此机会记录一下学习的收获。

Pandas

Pandas 是一个强大的 Python 库,用于数据分析和处理。它提供了丰富的数据结构和函数,可以方便地进行数据操作和分析。在处理 Excel 数据时,Pandas 提供了简单而强大的工具,可以帮助用户轻松地读取、写入和操作 Excel 文件。

安装 Pandas

要使用,当然第一步就是安装。可以使用 pip 命令进行安装:

复制代码
pip install pandas

读取 Excel 文件

使用 Pandas 读取 Excel 文件非常简单。假设有一个名为 data.xlsx 的 Excel 文件,包含了一些数据。可以使用 Pandas 的 read_excel 函数来读取这个文件:

ini 复制代码
import pandas as pd
​
df = pd.read_excel('data.xlsx')

想要指定sheet,可以这样写

ini 复制代码
import pandas as pd
​
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

想要读取指定的列,可以这样写

python 复制代码
import pandas as pd
​
df = pd.read_excel('data.xlsx', sheet_name='Sheet1', converters={"曲目序号":str})

读取到文件后,如何获取数据呢?

获取前5行

scss 复制代码
df.head()

获取指定的单行

css 复制代码
df.iloc[0].values

获取指定的多行

lua 复制代码
df.iloc[[1,2]].values

获取指定的行列

css 复制代码
df.iloc[1,0]

获取指定的多行多列值

lua 复制代码
df.loc[[1,2],['教材id','教材名']].values

获取所有行的指定列

css 复制代码
df.loc[:,['教材id','教材名']].values

获取行号

复制代码
df.index.values

获取列名

复制代码
df.columns.values

获取指定列的值

bash 复制代码
df['教材id'].values

操作 Excel 数据

一旦数据被读取到 Pandas 的 DataFrame 中,就可以使用 Pandas 提供的各种函数和方法来操作数据。例如,可以对数据进行筛选、排序、计算等操作。

案例:计算平均值

假设 Excel 文件中包含了一个名为 sales 的列,记录了销售额。可以使用 Pandas 计算这一列的平均值:

bash 复制代码
# 计算销售额的平均值
average_sales = df['sales'].mean()
print('Average sales:', average_sales)

案例:筛选数据

假设需要筛选出销售额大于 1000 的数据:

bash 复制代码
# 筛选销售额大于 1000 的数据
high_sales = df[df['sales'] > 1000]
print('High sales:', high_sales)

写入 Excel 文件

除了读取,Pandas 也可以将数据写入 Excel 文件。可以使用 to_excel 方法将 DataFrame 中的数据写入到 Excel 文件中:

ini 复制代码
# 将数据写入 Excel 文件
df.to_excel('output.xlsx', index=False)

实战:读取数据再写入表格

css 复制代码
df = pd.read_excel('data.xlsx')
test_data=[]
for i in df.index.values:
    row_data=df.loc[i,['教材id','教材旧id','教材名','教材封面','作曲家','出版社','曲目id','曲目名','曲目序号','难度','finale文件','xml文件','png文件开始','png文件结束','mp3文件']].to_dict()
    test_data.append(row_data)
​
pd.DataFrame.from_dict(test_data).to_excel("score.xlsx")

这段代码,我们通过df.index.values来获取行号的索引,并对其进行遍历,然后使用df.loc来获取每一行指定的数据,并利用to_dict转成字典,最后再调用to_excel写入文件。

最后

这些只是使用 Pandas 进行 Excel 数据处理的基本用法,当然Pandas 非常强大,可以满足各种数据处理需求,包括数据清洗、转换、分析等。以后工作中遇到再慢慢摸索更高级的功能

相关推荐
独行soc38 分钟前
2025年渗透测试面试题总结-264(题目+回答)
网络·python·安全·web安全·网络安全·渗透测试·安全狮
S***26751 小时前
基于SpringBoot和Leaflet的行政区划地图掩膜效果实战
java·spring boot·后端
汤姆yu1 小时前
基于python的外卖配送及数据分析系统
开发语言·python·外卖分析
如何原谅奋力过但无声2 小时前
TensorFlow 1.x常用函数总结(持续更新)
人工智能·python·tensorflow
翔云 OCR API2 小时前
人脸识别API开发者对接代码示例
开发语言·人工智能·python·计算机视觉·ocr
AndrewHZ3 小时前
【图像处理基石】如何在图像中提取出基本形状,比如圆形,椭圆,方形等等?
图像处理·python·算法·计算机视觉·cv·形状提取
@大迁世界3 小时前
相信我兄弟:Cloudflare Rust 的 .unwrap() 方法在 330 多个数据中心引发了恐慌
开发语言·后端·rust
5***g2983 小时前
新手如何快速搭建一个Springboot项目
java·spring boot·后端
温轻舟4 小时前
Python自动办公工具05-Word表中相同内容的单元格自动合并
开发语言·python·word·自动化办公·温轻舟
2***B4494 小时前
Rust在系统编程中的内存安全
开发语言·后端·rust