Python实战:xlsx文件的读写

news2024/10/7 2:20:10

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_font
    cell.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 = border
        cell.fill = fill

# 保存工作簿
wb.save('formatted_data.xlsx')

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

十、总结 📚

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


十一、最后 🤝

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

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

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

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

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

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

相关文章

从微软、英伟达、亚马逊到“木头姐”,大佬瞄准AI新风口:类人机器人

新近消息显示,一家开发类人机器人的初创公司新近融资云集硅谷大厂和风投基金,显示类人机器人正在成为科技巨头押注人工智能(AI)应用的新风口。 上月末就有媒体提到,上述初创Figure AI Inc.在磋商,寻求在微…

影视后期:剪辑逻辑故事的层次(三幕式故事结构)

写在前面 学习影视后期整理相关笔记博文内容涉及:三幕式理解不足小伙伴帮忙指正 不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。——村上春树 流水账式短视频 流水账单线叙事要点&…

【JVM】MySQL驱动加载如何打破双亲委派机制

上文根据MySQL中Driver加载相关内容介绍了Java中SPI机制,本文详细介绍驱动的加载如何打破了双亲委派机制 Java双亲委派机制详细内容可以参考之前文章,在这里简单做个回顾 原理 首先我们要了解 Java 中的三层类加载器,分别为Bootstrap Class…

Java 学习和实践笔记(19):this的使用方法

this用来指向当前对象的地址。 this的用法: 1)在普通方法中,this总是指向调用该方法的对象。在普通方法中,它是作为一种隐式参数一直就存在着(这句话的意思,就是其实在普通方法中,编译器一直就…

林浩然与杨凌芸的Java泛型历险记:从类型安全到代码简洁,一场浪漫的编程革命

林浩然与杨凌芸的Java泛型历险记:从类型安全到代码简洁,一场浪漫的编程革命 Lin Haoran and Yang Lingyun’s Java Generics Adventure: A Romantic Programming Revolution from Type Safety to Code Simplicity 在那片充满逻辑与智慧的Java大陆上&…

家政小程序开发:帮助企业打造专属品牌,提升知名度

随着当下消费观念的升级,人口老龄化的严重,家政服务成为当下年轻人的必不可少的选择,我国家政服务市场的发展前景非常广阔。 如今,消费者对家政的需求日益多样化,家政市场数字化转型将成为一大发展趋势。在互联网等信…

开发分销商城小程序助力您的业务快速增长

一、什么是分销商城小程序? 分销商城小程序是一种基于微信平台开发的小程序,可以帮助商家快速建立自己的分销体系,实现商品的快速销售。 二、分销商城小程序的优势: 低成本:开发成本低,无需投入大量资金…

程序媛的mac修炼手册-- 小白入门Java篇

最近因为要用CiteSpace做文献综述,间接接触Java了。所以,继Python、C之后,又要涉猎Java了。刺激!! 由于CiteSpace与Java要求版本高度匹配,有个匹配详情明天为大家讲解。总之,我的Java之旅开始于…

“IT行业职业发展的黄金之路:哪些证书能为你增光添彩?“

文章目录 每日一句正能量前言1、浙大计算机程序设计能力考试证书(PAT)2、全国计算机等级考试证书(NCRE)3、计算机技术与软件专业资格考试证书(软考)4、通信专业技术人员职业水平证书5、全国计算机应用水平考试证书(NIT…

记录 使用FFMPEG 笔记本摄像头推流

一、使用 FFMPEG 测试摄像头拉流显示 # 获取摄像头名称 ffmpeg -list_devices true -f dshow -i dummy# 我笔记本上的摄像头名称如下 device_pnp_\\?\usb#vid_0408&pid_1020&mi_00#6&199e90f7&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global# 使…

做抖音小店怎么选品?给新手商家的三条建议,能让你销量猛增999+

大家好,我是电商花花。 总是担心店铺不出单,没有销量,看着断断续续的收益,新手商家应该都是愁容满面吧。 今天花花从是3个维度上给新手商家一些建议,讲解一下如何高效选品,加你如何让你出单猛增999。 以前…

模型 KISS复盘法

系列文章 分享 模型,了解更多👉 模型_总纲目录。重在提升认知。反思过去,不断进步。 1 KISS复盘法的应用 1.1 团队项目复盘 在一个团队项目结束后,团队成员可以使用KISS模型进行复盘,以总结经验教训并改进未来的工作…

个人博客系统测试

文章目录 一、项目介绍二、测试1. 功能测试2. 自动化测试(1)添加相关依赖(2)新建包并在报下创建测试类(3)亮点及难点 一、项目介绍 个人博客系统采用前后端分离的方法来实现,同时使用了数据库来…

【寸铁的刷题笔记】树、dfs、bfs、回溯、递归(二)

【寸铁的刷题笔记】树、dfs、bfs、回溯、递归(二) 大家好 我是寸铁👊 金三银四,树、dfs、bfs、回溯、递归是必考的知识点✨ 快跟着寸铁刷起来!面试顺利上岸👋 喜欢的小伙伴可以点点关注 💝 上期回顾 感谢大家的支持&am…

【MySQL 探索之旅】初始MySQL数据库

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有…

【多线程】synchronized 关键字 - 监视器锁 monitor lock

synchronized 1 synchronized 的特性1) 互斥2) 可重入 2 synchronized 使用示例1) 修饰代码块: 明确指定锁哪个对象.2) 直接修饰普通方法: 锁的 SynchronizedDemo 对象3) 修饰静态方法: 锁的 SynchronizedDemo 类的对象 3 Java 标准库中的线程安全类 1 synchronized 的特性 1)…

代码随想录算法训练营第四十天|343. 整数拆分 96.不同的二叉搜索树

343. 整数拆分 链接:. - 力扣(LeetCode) 思路: 动态规划的题目虽然说是要先确定dp数组的含义,再确定递归公式,但是总感觉这两者是相辅相成的,是一起出来的,但是到此,dp数组…

第十二天-ppt的操作

目录 创建ppt文档 安装 使用 段落的使用 段落添加数据 段落中定义多个段落 自定义段落 ppt插入表表格 PPT插入图片 读取ppt 读取ppt整体对象 ​编辑 获取ppt文本 获取表格内容 创建ppt文档 安装 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python…

ARM处理器有哪些工作模式和寄存器?各寄存器作用是什么?ARM异常中断处理流程?

《嵌入式工程师自我修养/C语言》系列——ARM处理器有哪些工作模式和寄存器?各寄存器作用是什么? 一、ARM处理器的工作模式及寄存器1.1 ARM处理器的工作模式1.2 ARM处理器中的寄存器 二、ARM 异常中断处理2.1 什么是异常?异常向量表是什么&…

自动化操作读写Excel —— xlrd 和 xlwt 模块参数说明与代码实战【第95篇—自动化操作读写Excel 】

自动化操作读写Excel —— xlrd 和 xlwt 模块参数说明与代码实战 在日常工作中,Excel表格是不可或缺的数据处理工具。为了提高工作效率,Python中的xlrd和xlwt模块为我们提供了强大的功能,使得自动化操作Excel变得更加简便。本文将介绍xlrd和…