我用Python操作Excel的两种主要工具

简介: 我用Python操作Excel的两种主要工具

Python操作Excel分为两个主要形式,读写和交互式操作,可以用不同的第三方工具。

首先对于单纯地读写Excel,这种场景使用Pandas就足够了。

使用Pandas中的read_excel、to_excel函数,在Excel和DataFrame格式间进行转换。

import pandas as pd
# 读取excel文件,Excel->DataFrame
df = pd.read_excel('example.xlsx')
# 导出excel文件,DataFrame->Excel
df.to_excel('example.xlsx')

其他的诸如xlrd、xlwt功能单一,也没有Pandas好用。

Pandas针对excel设置了丰富的参数选项,将近30个,基本可以满足你大部分读写需求。

pandas.read_excel(io,sheet_name=0,*,header=0,names=None,index_col=None,usecols=None,dtype=None)

  • io:string类型文件的路径或url
  • sheet_name=0:指定的excel中的具体某个或某些表的表名或表索引
  • header=0:以哪些行作为表头,也叫做列名
  • names=None:自己定义一个表头(列名)
  • index_col=None:将哪些列设为索引.
  • usecols=None:指定读取excel中哪些列的数据,默认为None,表示读取全部
  • squeeze=False:默认为False,如果解析的数据只包含一列,则返回一个Series
  • dtype=None:接收dict,设置数据类型,具体到每列


其次是针对Excel文件本身的交互操作,比如修改格式、制作图表、透视表、宏等,这种操作需要用到专门的Excel处理库,像xlwings、openpyxl等。

这里重点讲讲xlwings,xlwings是比较专业全面的Excel操作库,可以使用Python自动化操作Excel中的任何功能,比如可视化、格式处理、数据透视等。

1950a700f817754eed8b5535ba4a0aa3.png

xlwings很好的将Python中的Pandas、Numpy、matplotlib与Excel进行交互,例如数据格式转换等。

# 将matplotlib图像贴入Excel中
import matplotlib.pyplot as plt
import xlwings as xw
fig = plt.figure()
plt.plot([1, 2, 3])
sheet = xw.Book().sheets[0]
sheet.pictures.add(fig, name='MyPlot', update=True)

4f7b32217748bd462527557682e26dcc.png

xlwing还有excel插件,可以支持在excel中编写python代码,执行自动化任务。

a01e5f229a79cb4bd404e5b141d05d41.png

相关文章
|
5天前
|
存储 安全 数据安全/隐私保护
打造安全防线!Python AES&RSA加密工具,黑客绕道走的秘籍
【9月更文挑战第9天】随着数字化时代的到来,信息安全问题日益凸显。本文将介绍如何使用Python结合AES与RSA两种加密算法,构建强大的加密工具。AES以其高效性和强安全性著称,适用于大量数据的快速加密;RSA作为非对称加密算法,在加密小量数据及实现数字签名方面表现卓越。通过整合两者,可以构建既安全又灵活的加密系统。首先,需要安装pycryptodome库。接着,实现AES加密与解密功能,最后利用RSA加密AES密钥,确保其安全传输。这种设计不仅提高了数据传输效率,还增强了密钥交换的安全性,为敏感数据提供坚实保护。
133 43
|
11天前
|
Python
Python的编辑工具-Jupyter notebook实战案例
这篇博客介绍了Jupyter Notebook的安装和使用方法,包括如何在本地安装Jupyter、启动和使用Jupyter Notebook进行编程、文档编写和数据分析,以及如何执行和管理代码单元(Cell)的快捷键操作。
24 4
Python的编辑工具-Jupyter notebook实战案例
|
5天前
|
消息中间件 网络协议 Python
工具人逆袭!掌握Python IPC,让你的进程从此告别单打独斗
【9月更文挑战第9天】你是否曾遇到多个Python程序像孤岛般无法通信,导致数据孤立、任务难协同的问题?掌握进程间通信(IPC)技术,可助你打破这一僵局。IPC是不同进程间传递数据或信号的机制,在Python中常用的方法有管道、消息队列、共享内存及套接字等。其中,管道适用于父子或兄弟进程间简单数据传递;套接字则不仅限于本地,还能在网络间实现复杂的数据交换。通过学习IPC,你将能设计更健壮灵活的系统架构,成为真正的编程高手。
14 3
|
5天前
|
数据采集 存储 数据挖掘
使用Python读取Excel数据
本文介绍了如何使用Python的`pandas`库读取和操作Excel文件。首先,需要安装`pandas`和`openpyxl`库。接着,通过`read_excel`函数读取Excel数据,并展示了读取特定工作表、查看数据以及计算平均值等操作。此外,还介绍了选择特定列、筛选数据和数据清洗等常用操作。`pandas`是一个强大且易用的工具,适用于日常数据处理工作。
|
10天前
|
数据挖掘 数据处理 Python
python如何高效处理excel图表案例分享
python如何高效处理excel图表案例分享
19 2
|
11天前
|
安全 数据挖掘 Python
Python的打包工具(setup.py)实战篇
关于如何使用Python的setup.py工具打包Python项目的实战教程。
10 0
Python的打包工具(setup.py)实战篇
|
14天前
|
数据处理 开发者 Python
探索Python中的列表推导式:一种简洁而强大的工具
【8月更文挑战第31天】在Python编程中,列表推导式是一种高效且优雅的构建列表的方法。本文将通过实际代码示例深入探讨列表推导式的不同形式及其使用场景,旨在帮助读者更好地理解和运用这一强大工具。
|
14天前
|
搜索推荐 API 数据处理
Python魔法:打造个性化天气查询工具
【8月更文挑战第31天】 在这篇文章中,我们将一起探索如何用Python构建一个个性化的天气查询工具。不同于传统的技术文章,我们将通过一个简单的故事引入主题,让读者感受到编程的乐趣和实用性。文章将介绍如何使用API获取数据,处理这些数据,并以用户友好的方式展示信息。无论你是编程新手还是想扩展你的项目库,这篇文章都会给你提供有价值的见解和代码示例。
|
15天前
|
PHP 开发者 UED
PHP中的异常处理:从基础到高级探索Python中的列表推导式:简洁而强大的工具
【8月更文挑战第30天】在PHP编程的世界中,异常处理是确保代码健壮性和可靠性的关键机制。本文将引导您了解PHP异常处理的基本概念,并通过实际示例展示如何有效地捕获和处理异常。我们将一起探索try-catch结构、自定义异常类以及高级异常处理技术,让您的PHP代码更加稳固和易于维护。
|
15天前
|
JSON IDE API
探索Python编程:打造你的第一个天气查询工具
【8月更文挑战第30天】在这篇文章中,我们将一起踏上Python编程的奇妙旅程,从零基础开始,逐步构建出属于自己的天气查询工具。文章将引导你了解Python语言的魅力,通过实际的项目操作,让你体验到编程的乐趣和成就感。无论你是编程新手还是希望扩展技能的老手,这篇文章都将为你提供宝贵的经验和知识。让我们一起探索代码的世界,解锁新技能,让技术改变生活!