news 2026/1/27 7:12:54

python pandas操作excel

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python pandas操作excel

Python的Pandas库是处理Excel文件的强大工具,它提供了简洁高效的接口来读取、处理和分析表格数据。下面将详细介绍使用Pandas操作Excel的核心方法、常见场景及进阶技巧。

一、安装与环境准备

使用Pandas处理Excel文件前,需要安装Pandas及相应的引擎库(如openpyxl或xlrd)。可以通过pip命令安装:

pip install pandas openpyxl

其中,openpyxl主要用于读写.xlsx格式文件(Excel 2007及以上版本),而xlrd则适用于较旧的.xls格式。

二、读取Excel文件

Pandas通过read_excel()函数读取Excel文件,并将其转换为DataFrame对象进行后续操作。

  • 基本读取
    import pandas as pd df = pd.read_excel('data.xlsx') print(df.head())
  • 读取特定工作表:通过sheet_name参数指定工作表名称或索引。
    df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
  • 读取多个工作表:可一次性读取所有工作表,返回一个以工作表名为键的字典。
    dfs = pd.read_excel('data.xlsx', sheet_name=['Sheet1', 'Sheet2'])
  • 选择性读取列:使用usecols参数仅读取需要的列,提升处理效率。
    df = pd.read_excel('data.xlsx', usecols=['A', 'C'])

三、数据处理与清洗

读取数据后,Pandas提供了丰富的数据处理功能:

  • 处理缺失值:使用dropna()删除含空值的行/列,或fillna()填充空值。
    df = df.dropna() # 删除空行 df = df.fillna(0) # 用0填充空值
  • 删除重复值drop_duplicates()可移除重复行。
  • 数据类型转换astype()方法可调整列的数据类型。
    df['Age'] = df['Age'].astype(int)
  • 数据筛选与排序:支持条件过滤和按列排序。
    filtered_df = df[df['销售额'] > 0] # 过滤 sorted_df = df.sort_values(by='日期', ascending=False) # 排序

四、写入Excel文件

使用to_excel()方法可将DataFrame写入Excel文件。

  • 基本写入
    df.to_excel('output.xlsx', index=False) # index=False避免写入行索引
  • 写入多个工作表:通过pd.ExcelWriter实现。
    with pd.ExcelWriter('output.xlsx') as writer: df1.to_excel(writer, sheet_name='Sheet1', index=False) df2.to_excel(writer, sheet_name='Sheet2', index=False)
  • 追加写入现有文件:结合openpyxl可实现向已存在文件追加数据。
    from openpyxl import load_workbook book = load_workbook('input.xlsx') with pd.ExcelWriter('input.xlsx', engine='openpyxl', mode='a') as writer: writer.book = book df_new.to_excel(writer, sheet_name='Sheet1', startrow=writer.sheets['Sheet1'].max_row, index=False)

五、进阶应用与性能优化

  • 批量文件处理:可结合os模块遍历文件夹,合并多个Excel文件。
    import os all_files = [f for f in os.listdir('folder_path') if f.endswith('.xlsx')] combined_df = pd.concat([pd.read_excel(f) for f in all_files])
  • 大数据分块读取:处理大型文件时,使用chunksize参数分块读取以减少内存占用。
    for chunk in pd.read_excel('large_file.xlsx', chunksize=10000): process(chunk)
  • 数据可视化集成:Pandas可结合Matplotlib或Seaborn生成图表,并利用openpyxlXlsxWriter将图表嵌入Excel。
  • 格式定制:通过openpyxlXlsxWriter引擎,可在写入时设置单元格格式(如字体、颜色、列宽)。

六、应用场景示例

  • 财务报表生成:自动读取原始数据,进行汇总计算后,生成带格式和图表的工作簿。
  • 数据分析报告:自动化数据清洗、分析,并输出包含透视表和图表的报告。
  • 项目管理:跟踪项目数据,自动计算进度指标并生成可视化报表。

七、库选择建议

  • Pandas:适合大多数数据处理场景,支持读写、清洗、分析,是综合性首选。
  • OpenPyXL:需精细控制单元格格式、公式或图表时使用,支持.xlsx文件的读写。
  • XlsxWriter:专注于创建和写入.xlsx文件,支持复杂图表和格式,但不支持读取。
  • xlrd/xlwt:仅处理旧版.xls格式时考虑,功能较有限。

通过上述方法,你可以高效地使用Pandas完成Excel数据的自动化处理。根据具体需求(如数据量、格式复杂度、是否需要图表)选择合适的库和技巧,能显著提升工作效率。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/21 21:21:56

LobeChat ESG报告撰写辅助工具

LobeChat:构建企业级ESG报告智能撰写系统的实践路径 在“双碳”目标与全球可持续发展浪潮的推动下,ESG(环境、社会与治理)披露已从自愿性倡议转变为上市企业、大型集团的刚性合规要求。然而,现实中的ESG报告编制却常常…

作者头像 李华
网站建设 2026/1/26 22:58:04

基于单片机的直流电机PWM调速系统

基于单片机的直流电机PWM调速系统设计与实现 第一章 引言 直流电机凭借结构简单、启动转矩大、调速性能好等优势,广泛应用于工业自动化、智能设备、机器人等领域。传统直流电机调速方式(如串电阻调速)存在能耗高、调速精度低、响应迟缓等问题…

作者头像 李华
网站建设 2026/1/21 7:52:16

【珍藏版】大语言模型训练全流程详解:从基础模型到AI助手的蜕变

文章详细介绍了大语言模型(LLM)的三大训练阶段:预训练(无监督学习掌握语言规则和世界认知)、监督微调(SFT提升输出有用性和合规性)、以及RLHF(利用人类反馈优化回答质量)。随着DeepSeek等公司开源训练方法,我们可通过调整训练流程来革新大语言模型表现。…

作者头像 李华
网站建设 2026/1/26 17:53:29

收藏!2025大模型风口已至,程序员转型必看指南

2025年的技术序幕刚拉开,AI领域就抛出了颠覆性“王炸”——DeepSeek的突破性进展如同惊雷贯耳,瞬间重构了IT从业者的职业赛道。阿里云抢先完成核心业务与Agent体系的深度绑定,字节跳动更直接将大模型开发能力纳入30%后端岗位的硬性指标&#…

作者头像 李华
网站建设 2026/1/27 0:56:43

5、Linux 串口硬件配置全解析

Linux 串口硬件配置全解析 1. 串口通信软件概述 在 Linux 系统中,有多种用于调制解调器连接的通信软件。其中,许多是终端程序,能让用户像坐在简单终端前一样拨号连接到其他计算机。传统的类 Unix 环境终端程序 kermit 如今已显陈旧,使用起来较为困难。现在有更便捷的程序…

作者头像 李华
网站建设 2026/1/26 23:01:37

16、Linux 中 IPX 与 NCP 文件系统的全面指南

Linux 中 IPX 与 NCP 文件系统的全面指南 1. 协议起源与发展 在 20 世纪 70 年代末,施乐公司开发并发布了施乐网络规范(XNS),这是一个用于通用互联网的开放标准,尤其侧重于局域网的使用。XNS 包含两个主要的网络协议: - 互联网数据报协议(IDP):提供无连接且不可靠的…

作者头像 李华