Pandas与openpyxl库的超强结合,再见,Excel!

简介: Pandas与openpyxl库的超强结合,再见,Excel!

前言

用过Pandas和openpyxl库的同学都知道,这两个库是相互互补的。Pandas绝对是Python中处理Excel最快、最好用的库,但是使用 openpyxl 的一些优势是能够轻松地使用样式、条件格式等自定义电子表格。


如果你又想轻松的使用Pandas处理Excel数据,又想为Excel电子表格添加一些样式,应该怎么办呢?


但是您猜怎么着,您不必担心挑选。


事实上,openpyxl 支持将数据从 Pandas DataFrame 转换为工作簿,或者相反,将 openpyxl 工作簿转换为 Pandas DataFrame。

DataFrame转工作簿

我们先创建一个DataFrame:


import pandas as pd
data = {
    "姓名": ["张三", "李四"],
    "性别": ["男", "女"],
    "年龄": [15, 25],
}
df = pd.DataFrame(data)
df


结果如下:

image.png

如果想要给表头设置为红色字体,并居中,应该如何设置呢?


from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows
from openpyxl.styles import Font 
from openpyxl.styles import Alignment 
wb = Workbook()
ws = wb.active
for row in dataframe_to_rows(df, index=False, header=True):
    ws.append(row)
font = Font(name="微软雅黑",size=10, bold=True,italic=False,color="FF0000")
alignment = Alignment(horizontal="center",vertical="center")
for i in range(1,df.shape[1]+1):
    cell = ws.cell(row=1, column=i)
    print(cell.value)
    cell.font = font
    cell.alignment = alignment
wb.save("pandas.xlsx")


结果如下:

image.png


工作簿转DataFrame

如果有这样一份数据,我们想将其转换为DataFrame,应该怎么做?

image.png

其实这个有点多此一举,我们直接使用pandas读取后,处理完数据,在进行样式设计不就行了吗?为何一开始非要使用openpyxl读取工作簿呢?


哈哈,但是既然openpyxl中提供了这种方法,我们就来看看。


import pandas as pd
from openpyxl import load_workbook
workbook = load_workbook(filename="df_to_openpyxl.xlsx")
sheet = workbook.active
values = sheet.values
df = pd.DataFrame(values)   
df


结果如下:

image.png

相关文章
|
15天前
|
Python
使用OpenPyXL库实现Excel单元格其他对齐方式设置
本文介绍了如何使用Python的`openpyxl`库设置Excel单元格中的文本对齐方式,包括文本旋转、换行、自动调整大小和缩进等,通过具体示例代码展示了每种对齐方式的应用方法,适合需要频繁操作Excel文件的用户学习参考。
147 85
使用OpenPyXL库实现Excel单元格其他对齐方式设置
|
19天前
|
数据可视化 Python
使用OpenPyXL在Excel中创建折线图:数据可视化入门
本文介绍了如何使用Python的`openpyxl`库在Excel中创建折线图,包括安装库、加载Excel文件、定义数据范围、设置图表属性(如标题、轴标签)及保存文件等步骤,适合数据可视化初学者。
50 15
|
19天前
|
BI Python
利用OpenPyXL实现Excel条件格式化
本文介绍如何使用Python的`openpyxl`库为Excel文件添加条件格式,包括颜色渐变、图标集、数据条及基于公式的规则等,提升数据可读性和美观度。通过具体示例,展示了从安装库、加载文件到应用各种条件格式的详细过程,最后保存修改后的文件。
50 12
|
21天前
|
数据可视化 数据处理 Python
使用Pandas实现Excel中的数据透视表功能
本文介绍了如何使用Python的Pandas库实现Excel中的数据透视表功能,包括环境准备、创建模拟销售数据、代码实现及输出等步骤。通过具体示例展示了按地区和销售员汇总销售额的不同方法,如求和、平均值、最大值等,帮助读者掌握Pandas在数据处理上的强大能力。
53 12
|
1月前
|
数据格式 UED
记录一次NPOI库导出Excel遇到的小问题解决方案
【11月更文挑战第16天】本文记录了使用 NPOI 库导出 Excel 过程中遇到的三个主要问题及其解决方案:单元格数据格式错误、日期格式不正确以及合并单元格边框缺失。通过自定义单元格样式、设置数据格式和手动添加边框,有效解决了这些问题,提升了导出文件的质量和用户体验。
176 3
|
1月前
|
Java BI API
Java Excel报表生成:JXLS库的高效应用
在Java应用开发中,经常需要将数据导出到Excel文件中,以便于数据的分析和共享。JXLS库是一个强大的工具,它基于Apache POI,提供了一种简单而高效的方式来生成Excel报表。本文将详细介绍JXLS库的使用方法和技巧,帮助你快速掌握Java中的Excel导出功能。
70 6
|
1月前
|
数据采集 数据可视化 数据处理
Python数据科学:Pandas库入门与实践
Python数据科学:Pandas库入门与实践
|
1月前
|
数据采集 数据可视化 数据挖掘
Python数据分析:Pandas库实战指南
Python数据分析:Pandas库实战指南
|
22天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
2月前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
155 4