python 解析数据后保存到excel

news/2025/1/15 18:18:01/

openpyxl

  • 特点

    • 支持读写Excel 2010 xlsx/xlsm/xltx/xltm文件格式。
    • 可以操作Excel的几乎所有功能,如样式、图表、图片等。
    • 适用于复杂的Excel操作,例如公式、数据验证和条件格式。
    • 社区支持较好,文档比较完善。
  • 优点

    • 功能全面,能够处理复杂的Excel文件。
    • 可以读取和修改现有的Excel文件。
    • 支持较新的Excel特性。
  • 缺点

    • 内存消耗较大,对于非常大的Excel文件可能不太适用。
    • 读写速度相对较慢。
import os
import openpyxl# 获取当前工作目录
current_work_directory = os.getcwd()# 指定 Excel 文件路径
excel_file_path = os.path.join(current_work_directory, 'test.xlsx')# 加载已存在的工作簿
workbook = openpyxl.load_workbook(excel_file_path)# 选择默认的工作表,或者通过名字获取特定的工作表
sheet = workbook.active# 假设这是你要写入的数据,可以是任何你处理后的数据
data_to_write = [['标题1', '标题2', '标题3'],[1, 2, 3],[4, 5, 6],# ... 更多数据
]# 写入数据到工作表
for row_index, row_data in enumerate(data_to_write, start=1):  # 从第一行开始写入for col_index, value in enumerate(row_data, start=1):sheet.cell(row=row_index, column=col_index, value=value)# 保存工作簿
workbook.save(excel_file_path)

xlsxwriter

  • 特点

    • 只支持写入Excel 2010 xlsx/xlsm文件格式。
    • 专注于写操作,不支持读取Excel文件。
    • 适合快速创建和写入大型Excel文件。
  • 优点

    • 写入速度快,对于大量数据写入效率较高。
    • 内存占用小,适合处理大型数据集。
    • 生成的Excel文件较小。
  • 缺点

    • 功能相对有限,不支持读取或修改现有Excel文件。
    • 不支持某些复杂的Excel特性,如条件格式和数据验证。
import os
import xlsxwriter# 获取当前工作目录
current_work_directory = os.getcwd()
# 指定 Excel 文件路径
excel_file_path = os.path.join(current_work_directory, 'test.xlsx')
# 创建一个新的工作簿
workbook = xlsxwriter.Workbook(excel_file_path)
# 创建一个新的工作表
worksheet = workbook.add_worksheet('Sheet')# 设置标题行
titles = ["列名1", "列名2", "列名3", "列名4"]
for col_num, title in enumerate(titles, start=1):worksheet.write(0, col_num - 1, title)# 修改单元格值
worksheet.write(1, 1, 1)# 保存工作簿到当前工作目录
workbook.close()

总结

  • 如果你的需求是读取和修改现有的Excel文件,或者需要使用复杂的Excel特性,openpyxl可能是更好的选择。
  • 如果你只需要创建新的Excel文件,并且关注写入速度和文件大小,xlsxwriter可能更适合你。

根据你的具体需求,你可以选择最合适的库。对于大多数简单的用例,xlsxwriter由于其写入速度快和资源消耗低,通常是一个较好的选择。而对于需要更复杂操作的用例,openpyxl提供了更多的灵活性。

使用pandas保存到Excel文件

Pandas导入导出excel、csv、txt文件

from pandas import DataFrame
l1 = [1,2,3,4]
l2 = [1,2,3,4]
df = DataFrame({'序号': l1, '值': l2})
df.to_excel('test.xlsx', sheet_name='sheet1', index=False)

http://www.ppmy.cn/news/1522503.html

相关文章

MyBatis入门 – 动态SQL

MyBatis入门 – 动态SQL 1.动态SQL介绍 1.1 什么是动态SQL 在原先的JDBC中,开发者需要根据业务的不同要求手动拼接SQL语句,不仅增加开发的复杂度,同时也降低开发效率。而动态SQL则能够根据不同业务场景动态构建查询。动态SQL一般是根据用户…

Java网络编程入门

在现代软件开发中,网络编程是一项不可或缺的技能。Java提供了强大的网络编程支持,使得开发者能够轻松地创建网络应用程序。今天将介绍Java中的网络编程基础,重点讲解Socket和ServerSocket类的使用。 什么是Socket? Socket是网络通…

android系统源码12 修改默认桌面壁纸--SRO方式

1、aosp12修改默认桌面壁纸 代码路径 :frameworks\base\core\res\res\drawable-nodpi 替换成自己的图片即可,不过需要覆盖所有目录下的图片。 由于是静态修改,则需要make一下,重新编译。 2、方法二Overlay方式 由于上述方法有…

[动态规划] 删除并获得点数

给你一个整数数组 nums ,你可以对它进行一些操作。 每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除 所有 等于 nums[i] - 1 和 nums[i] 1 的元素。 开始你拥有 0 个点数。返回你能通过这些操…

vue3缺陷

Vue 3 的一些缺陷包括: 1. 兼容性问题:由于 Vue 3 使用了新的响应式系统,与 Vue 2 的代码不兼容。这意味着在迁移现有项目时需要进行一些改动。 2. 学习曲线:Vue 3 引入了一些新的概念和 API,相对于 Vue 2 有一定的学习…

如何利用AI优化知识中台的用户体验

引言 在数字化时代,知识中台作为企业知识管理与服务的重要载体,其用户体验的优劣直接关乎到信息的有效传递、员工的学习效率及企业的整体创新能力。随着人工智能(AI)技术的飞速发展,将AI融入知识中台的设计与优化中&a…

Linux系统高效进程控制的实战技巧

Linux系统高效进程控制的实战技巧 Linux是一种开源的Unix-like操作系统内核,由林纳斯托瓦兹(Linus Torvalds)于1991年首次发布。Linux以其稳定性、安全性和灵活性而著称,广泛应用于服务器、桌面、嵌入式系统等多个领域。在Linux系…

使用Docker快速安装和运行Elasticsearch

Elasticsearch 是一个基于 Lucene 构建的开源搜索引擎,它提供了分布式、多租户能力的全文搜索引擎,具有 HTTP web 接口和无模式的 JSON 文档。在本文中,我们将介绍如何使用 Docker 快速安装和运行 Elasticsearch。 为什么使用 Docker 安装 E…