Python实战:xlsx文件的读写

Python实战:xlsx文件的读写

在这里插入图片描述

🌈 个人主页:高斯小哥
🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 👈 希望得到您的订阅和支持~
💡 创作高质量博文,分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)


🌵文章目录🌵

  • 一、openpyxl库简介 🔍
  • 二、安装openpyxl 📚
  • 三、使用openpyxl写入xlsx文件 🖋
  • 四、使用openpyxl读取xlsx文件 📑
  • 五、pandas库简介 🔍
  • 六、安装pandas 📚
  • 七、使用pandas写入xlsx文件 🖋
  • 八、使用pandas读取xlsx文件 📑
  • 九、实战演练 🚀
    • 示例1:写入多个工作表到同一个xlsx文件
    • 示例2:写入带有格式的数据到xlsx文件
  • 十、总结 📚
  • 十一、最后 🤝

  在数据分析和处理的日常工作中,Excel文件(.xlsx格式)📑🔍无疑是我们经常需要与之打交道的一种文件格式。Python🐍提供了多种库来读写xlsx文件,其中最受欢迎的是openpyxl📚和pandas🐼。本文将通过实战的方式💪🔥,带你深入了解如何使用Python来读写xlsx文件📄🖊️,让你在数据处理中更加游刃有余!🚀✨

一、openpyxl库简介 🔍

  openpyxl是一个强大的Python库,用于🔄读写Excel电子表格文件!它允许你通过Python程序轻松处理电子表格文件,包括📝创建、🖌️修改、🔍分析和🔄转换等操作。💪

  不仅如此,openpyxl还支持Excel的多种格式,如📁xlsx、xlsm、xltx和xltm,让你可以轻松处理大量数据和复杂的电子表格。💡

二、安装openpyxl 📚

在使用openpyxl之前,你需要先安装它。可以通过pip来安装:

pip install openpyxl

三、使用openpyxl写入xlsx文件 🖋

下面是一个使用openpyxl创建并写入xlsx文件的简单示例:

from openpyxl import Workbook# 创建工作簿
workbook = Workbook()# 选择默认的工作表
sheet = workbook.active# 写入单元格数据
sheet['A1'] = 'Hello'
sheet['B1'] = 'World'# 保存工作簿
workbook.save(filename='example.xlsx')

  以上代码使用openpyxl库创建一个新的Excel工作簿,并在其默认的工作表中写入“Hello”到A1单元格和“World”到B1单元格,然后将该工作簿保存为名为“example.xlsx”的文件。

四、使用openpyxl读取xlsx文件 📑

下面是一个使用openpyxl读取xlsx文件的简单示例:

from openpyxl import load_workbook# 加载工作簿
workbook = load_workbook(filename='example.xlsx')# 选择工作表
sheet = workbook['Sheet']# 读取单元格内容
cell_value = sheet['A1'].value
print(f"A1单元格的值是:{cell_value}")# 读取整行数据
row_values = [cell.value for cell in sheet['A']]
print(f"A行的值是:{row_values}")# 读取整列数据
column_values = [cell.value for cell in sheet[1]]
print(f"第1列的值是:{column_values}")# 读取整个工作表数据
for row in sheet.iter_rows(min_row=1, max_col=5, values_only=True):print(row)

  以上代码使用openpyxl库来加载一个名为example.xlsx的Excel工作簿,并从中读取数据。代码首先选择了一个名为Sheet的工作表,然后分别读取了单元格A1的值、整行A的数据、整列第1列的数据,以及通过迭代行的方式读取了前5列的数据,并打印出了这些数据。

五、pandas库简介 🔍

  pandas是一个强大的数据分析库,它提供了DataFrame这一数据结构,使得数据处理变得非常方便。同时,pandas也提供了读写Excel文件的功能。

六、安装pandas 📚

在使用pandas之前,你需要先安装它。可以通过pip来安装:

pip install pandas

同时,为了读写xlsx文件,你还需要安装openpyxlxlrd库:

pip install openpyxl xlrd

七、使用pandas写入xlsx文件 🖋

下面是一个使用pandas创建并写入xlsx文件的简单示例:

import pandas as pd# 创建数据
data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35],'City': ['New York', 'London', 'Paris']
}# 创建DataFrame
df = pd.DataFrame(data)# 写入xlsx文件
df.to_excel('example.xlsx', index=False)

  以上代码使用Python的pandas库创建一个包含姓名、年龄和城市的简单数据集,并将这个数据集保存为一个名为’example.xlsx’的Excel文件。在这个Excel文件中,数据以表格的形式呈现,没有包含任何索引。

八、使用pandas读取xlsx文件 📑

下面是一个使用pandas读取xlsx文件的简单示例:

import pandas as pd# 读取xlsx文件
data = pd.read_excel('example.xlsx', sheet_name='Sheet1')# 显示数据
print(data)

输出:

      Name  Age      City
0    Alice   25  New York
1      Bob   30    London
2  Charlie   35     Paris进程已结束,退出代码0

九、实战演练 🚀

示例1:写入多个工作表到同一个xlsx文件

import pandas as pd# 创建数据
data1 = {'Name': ['Alice', 'Bob'],'Age': [25, 30]
}data2 = {'Product': ['Apple', 'Banana'],'Price': [0.99, 0.59]
}# 创建DataFrame
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)# 使用ExcelWriter写入多个工作表
with pd.ExcelWriter('multiple_sheets.xlsx') as writer:df1.to_excel(writer, sheet_name='Sheet1')df2.to_excel(writer, sheet_name='Sheet2')# 注释:
# 使用pd.ExcelWriter上下文管理器,可以将多个DataFrame写入同一个xlsx文件的不同工作表中。
# to_excel方法的sheet_name参数指定了工作表的名称。

  以上代码使用Python的pandas库创建两个数据字典(data1和data2),分别代表两个人的信息(姓名和年龄)以及两种产品的信息(产品和价格)。接着,这些数据字典被转换为两个pandas DataFrame对象(df1和df2)。最后,利用pandas的ExcelWriter功能,这两个DataFrame对象被写入同一个Excel文件(multiple_sheets.xlsx)的不同工作表(Sheet1和Sheet2)中。这样,一个Excel文件就包含了两个相关的数据集,方便后续的数据分析和处理。

示例2:写入带有格式的数据到xlsx文件

import pandas as pd
from openpyxl import Workbook
from openpyxl.styles import Font, Alignment, Border, Side, PatternFill# 创建数据
data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35],'City': ['New York', 'London', 'Paris']
}# 创建DataFrame
df = pd.DataFrame(data)# 使用pandas写入xlsx文件
with pd.ExcelWriter('formatted_data.xlsx', engine='openpyxl') as writer:df.to_excel(writer, index=False, sheet_name='Sheet1')# 加载已存在的Excel文件并获取工作表
wb = Workbook()
ws = wb.active
ws.title = 'Sheet1'# 将pandas写入的数据复制到openpyxl工作簿中
for r_idx, row in df.iterrows():for c_idx, value in enumerate(row, start=1):ws.cell(row=r_idx + 1, column=c_idx, value=value)# 设置标题行的字体样式
title_font = Font(bold=True, size=14)
for cell in ws[1]:  # 假设标题在第一行cell.font = title_fontcell.alignment = Alignment(horizontal='center')# 设置数据区域的边框和填充样式
border = Border(left=Side(style='thin'), right=Side(style='thin'),top=Side(style='thin'), bottom=Side(style='thin'))
fill = PatternFill(start_color='FFFFCC', end_color='FFFFCC', fill_type='solid')
for row in ws.iter_rows(min_row=2, max_row=df.shape[0] + 1, min_col=1, max_col=df.shape[1], values_only=False):for cell in row:cell.border = bordercell.fill = fill# 保存工作簿
wb.save('formatted_data.xlsx')

  以上代码首先使用pandas库创建一个包含姓名、年龄和城市的DataFrame,并将其保存为一个名为’formatted_data.xlsx’的Excel文件。然后,代码加载该Excel文件并使用openpyxl库进行样式设置,包括将标题行设置为粗体和居中,为数据区域添加边框,并为数据区域填充颜色。最后,代码保存修改后的工作簿到相同的Excel文件中。

十、总结 📚

  通过本文的实战演练,我们学习了如何使用openpyxlpandas两个Python库来读写xlsx文件。openpyxl适合对Excel文件进行低级别的操作,如创建、修改和提取工作簿、工作表和单元格等。而pandas则提供了更高级别的数据处理功能,如读取数据、数据分析和写入数据等。在实际应用中,我们可以根据具体需求选择合适的库来处理xlsx文件。


十一、最后 🤝

  亲爱的读者,感谢您每一次停留和阅读,这是对我们最大的支持和鼓励!🙏在茫茫网海中,您的关注让我们深感荣幸。您的独到见解和建议,如明灯照亮我们前行的道路。🌟若在阅读中有所收获,一个赞或收藏,对我们意义重大。

  我们承诺,会不断自我挑战,为您呈现更精彩的内容。📚有任何疑问或建议,欢迎在评论区畅所欲言,我们时刻倾听。💬让我们携手在知识的海洋中航行,共同成长,共创辉煌!🌱🌳感谢您的厚爱与支持,期待与您共同书写精彩篇章!

  您的点赞👍、收藏🌟、评论💬和关注💖,是我们前行的最大动力!

  🎉 感谢阅读,祝你编程愉快! 🎉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2805705.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

中断系统(详解与使用)

讲解 简介 中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。 假设一个人在家看电视,这时候突然门铃响了,这个人此时就要停止看电视去开门,然后关上门后继续回来…

PyTorch:transforms.Normalize()函数详解

PyTorch:transforms.Normalize()函数详解 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 👈 希望得到您的订阅和…

考研西电(833),考什么?计算机组成原理第一章要点

目录 1.1 计算机的发展历史(必须要了解的知识点)1.1.1 发展历史1.1.2 摩尔定律★★ 1.2 计算机的基本组成1.2.1 硬件系统1.2.2 软件系统1.2.3 指令集系结构1.2.4 高级语言程序的执行过程 1.3 计算机的层次概念1.3.1 计算机系统的层次结构1.3.2 计算机体系…

React18源码: reconcliler启动过程

Reconcliler启动过程 Reconcliler启动过程实际就是React的启动过程位于react-dom包&#xff0c;衔接reconciler运作流程中的输入步骤.在调用入口函数之前&#xff0c;reactElement(<App/>) 和 DOM对象 div#root 之间没有关联&#xff0c;用图片表示如下&#xff1a; 在启…

TiDB 社区智慧合集丨TiDB 相关 SQL 脚本大全

非常感谢各位 TiDBer 在之前 【TiDBer 唠嗑茶话会 48】非正式 TiDB 相关 SQL 脚本征集大赛&#xff01;( https://asktug.com/t/topic/996635 )里提供的各种常用脚本。 在这篇文章中&#xff0c;我们整理了社区同学提供的一系列 TiDB 相关 SQL 脚本&#xff0c;希望能为大家在…

C++基础知识(六:继承)

首先我们应该知道C的三大特性就是封装、继承和多态。 此篇文章将详细的讲解继承的作用和使用方法。 继承 一个类&#xff0c;继承另一个已有的类&#xff0c;创建的过程 父类(基类)派生出子类(派生类)的过程 继承提高了代码的复用性 【1】继承的格式 class 类名:父类名 {}; 【…

机器视觉选型:如何选择一个合适光源控制器

在机器视觉系统中&#xff0c;选择合适的光源及其控制器对于确保高质量图像捕获和处理至关重要。本文会提供一些建议&#xff0c;以便于引导您了解如何基于应用需求选择最合适的光源和光源控制器。 1. 理解光源的功率需求 不同类型的光源具有不同的功率需求&#xff0c;这直接…

汽水分离器——矿用分离过滤装置

去找一个奋发向上能带动你的人&#xff0c;去找一个像太阳一样的人&#xff0c;帮你晒晒全部不值一提的迷茫! 一、结构&#xff1a; 气水分离器又称气水分离过滤器&#xff0c;主要由&#xff1a;进口、筒体、滤芯连接件、滤芯、密封圈、阀门连接件、出气管、排水口、压力表等…

多人协作记账账本小程序开源版开发

多人协作记账账本小程序开源版开发 支持多人协作的记账本小程序&#xff0c;可用于家庭&#xff0c;团队&#xff0c;组织以及个人的日常收支情况记录&#xff0c;支持周月年度统计 便捷记账 便捷的记账方式&#xff0c;支持多种记账类型&#xff0c;快捷切换账本等 多账本 支…

JavaScript的内存管理与垃圾回收

前言 JavaScript提供了高效的内存管理机制&#xff0c;它的垃圾回收功能是自动的。在我们创建新对象、函数、原始类型和变量时&#xff0c;所有这些编程元素都会占用内存。那么JavaScript是如何管理这些元素并在它们不再使用时清理它们的呢&#xff1f; 在本节中&#xff0c;…

汽车大灯尾灯破裂修复用什么胶?

汽车大灯尾灯破裂可以使用硅酮玻璃胶或者环氧树脂胶进行修复。 硅酮玻璃胶的优点主要包括&#xff1a; 粘接力强&#xff1a;硅酮玻璃胶具有很强的粘接力&#xff0c;可以有效地将裂缝两侧的材料紧密粘合在一起。拉伸强度大&#xff1a;硅酮玻璃胶固化后形成的固体具有较高的…

VM-UNet: Vision Mamba UNet for Medical Image Segmentation

VM-UNet: 基于纯 Mamba 架构的医学图像分割模型 论文地址&#xff1a;https://arxiv.org/abs/2402.02491 项目地址&#xff1a;https://github.com/JCruan519/VM-UNet Abstract 在医学图像分割领域&#xff0c;基于CNN和基于Transformer的模型都得到了广泛的探索。然而&#…

基于Android的记单词App系统的研究与实现,附附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

Mamba 作者谈 LLM 未来架构

文章目录 前言 1、为什么注意力机制有效&#xff1f; 2、注意力计算量呈平方级增长 3、Striped Hyena 是个什么模型&#xff1f; 4、什么是 Mamba? 5、Mamba 硬件优化 6、2024年架构预测 7、对 AI 更多的预测 本片文章来自【机器之心】对Mamba作者进行采访所进行的编译整理。 …

springboot+vue项目部署配置开机自启动

1.前端部属 下载nginx解压&#xff0c;在nginx\conf下找到nginx.conf 添加如下代码 server {listen 8081;server_name localhost;charset utf-8;location / {root F:/1ceshi/dist; #前端打包路径try_files $uri $uri/ /index.html;index index.html index.htm;}l…

【动态规划】【前缀和】【推荐】2463. 最小移动总距离

作者推荐 【广度优先搜索】【网格】【割点】【 推荐】1263. 推箱子 本文涉及知识点 动态规划汇总 C算法&#xff1a;前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 2463. 最小移动总距离 X 轴上有一些机器人和工厂。给你一个整数数组 robot &#xff0c…

2.5G/5G/10G高速率网络变压器(网络隔离变压器)产品介绍(1)

Hqst华轩盛(石门盈盛)电子导读&#xff1a;高速率/2.5G 的带POE插件&#xff08;DIP&#xff09;款千兆双口网络变压器2G54801DP特点 一 ﹑2.5G高速率网络变压器&#xff08;网络隔离变压器&#xff09;&#xff1a;2G54801DP外观与尺寸 2G54801DP这颗产品尺寸为&#xff1a;长…

备战蓝桥杯————双指针技巧巧解数组2

利用双指针技巧来解决七道与数组相关的题目。 两数之和 II - 输入有序数组&#xff1a; 给定一个按升序排列的数组&#xff0c;找到两个数使它们的和等于目标值。可以使用双指针技巧&#xff0c;在数组两端设置左右指针&#xff0c;根据两数之和与目标值的大小关系移动指针。 …

测试计划、测试方案、测试策略、测试用例的区别

一 测试计划 测试计划是指描述了要进行的测试活动的范围、方法、资源和进度的文档。它主要包括测试项、被测特性、各阶段的测试任务、时间进度安排&#xff0c;谁执行任务和风险控制等&#xff0c;可以包括测试策略。 二 测试方案 测试方案是指描述需要测试的特性、测试的方…

MT8791迅鲲900T联发科5G安卓核心板规格参数_MTK平台方案定制

MT8791安卓核心板是一款搭载了旗舰级配置的中端手机芯片。该核心板采用了八核CPU架构设计&#xff0c;但是升级了旗舰级的Arm Cortex-A78核心&#xff0c;两个大核主频最高可达2.4GHz。配备了Arm Mali-G68 GPU&#xff0c;通过Mali-G88的先进技术&#xff0c;图形处理性能大幅提…