如何通过Python将各种数据写入到Excel工作表

在数据处理和报告生成等工作中,Excel表格是一种常见且广泛使用的工具。然而,手动将大量数据输入到Excel表格中既费时又容易出错。为了提高效率并减少错误,使用Python编程语言来自动化数据写入Excel表格是一个明智的选择。Python作为一种简单易学且功能强大的编程语言,其丰富的模块能够处理各种任务,包括操作Excel文件。通过编写Python代码,您可以轻松地将数据写入Excel表格,无论是小规模的数据集还是大规模的数据处理,使用Python自动化数据写入过程都可以大大提高工作效率,减少人为错误的发生。

本文中将介绍如何使用Python写入数据到Excel表格,提供更高效和准确的Excel表格数据写入方案,从而简化数据处理流程并节省宝贵的时间和精力。本文主要包含以下几个方面:

文章目录

    • Excel数据写入相关介绍
    • 通过Python写入文本或数字数据到Excel单元格
    • 通过Python写入数组到Excel工作表
    • 通过Python写入CSV数据到Excel工作表
    • 通过Python写入XML数据到Excel工作表

本文所使用的方法需要用到Spire.XLS for Python,可从官网下载或通过PyPI安装:pip install Spire.XLS

Excel数据写入相关介绍

  • 本文所使用的API中,使用Workbook类来代表一个Excel工作簿。在操作Excel工作簿时,可以使用该类下的 LoadFromFile() 方法从文件读取Excel工作簿进行操作或直接通过创建Workbook的对象从而创建工作簿进行操作。需要注意的是,新建的Excel工作簿默认有三个工作表。
  • 同时,该API还提供Worksheet类和一系列方法、属性来对工作表及其中的单元格数据、格式等内容进行操作。
  • 表格数据的主要来源有CSV文件、文本数组XML文件等。当我们需要制作报告等方便查看和分析的表格时,通过程序将这些类型的表格数据写入到Excel表格中可以实现高效精确的表格生成。
  • Worksheet.Range[str] 属性用于获取指定单元格或指定单元格范围。其中,单元格和单元格范围的表示方法与Excel相同,即“字母+数字”表示单元格,“字母+数字:字母+数字”表示单元格范围,如“A1”和“A1:C3”。
  • Workbook.SaveToFile(str, FileFormat) 方法用于保存Excel工作簿到文件,可将 FileFormat 枚举类型作为参数设置保存的文件格式。

通过Python写入文本或数字数据到Excel单元格

使用Workbook类直接创建Excel工作簿或载入工作簿之后,可以使用该类下的方法设置格式及写入数据。以下是写入文本或数值到Excel单元格操作示例:

  • 导入所需模块。
  • 创建 Workbook 类的对象以创建Excel工作簿。
  • 使用 Workbook.Worksheets.Clear() 方法删除默认的工作表,并使用 Workbook.Worksheets.Add() 方法新建一个工作表。
  • 通过 Worksheet 类下的属性设置单元格格式。
  • 通过 Worksheet.Range[].Text 属性添加文本或数值到指定单元格。
  • 使用 Workbook.SaveToFile() 方法保存工作簿到文件并关闭工作簿。

代码示例:

from spire.xls import Workbook
from spire.xls import Worksheet
from spire.xls import FileFormat# 创建Excel工作簿
workbook = Workbook()# 删除工作表并创建新的工作表
workbook.Worksheets.Clear()
worksheet = workbook.Worksheets.Add("成员信息")# 设置单元格格式
worksheet.Range["A1:D1"].Style.Font.IsBold = True
worksheet.Rows[0].RowHeight = 30
worksheet.Range["A1:D1"].Style.Font.Size = 12
worksheet.Range["A2:D4"].Style.Font.Size = 11# 写入表头数据
worksheet.Range["A1"].Text = "序号"
worksheet.Range["B1"].Text = "姓名"
worksheet.Range["C1"].Text = "年龄"
worksheet.Range["D1"].Text = "职业"# 写入其他数据
worksheet.Range["A2"].Text = "1"
worksheet.Range["A3"].Text = "2"
worksheet.Range["A4"].Text = "3"worksheet.Range["B2"].Text = "约翰"
worksheet.Range["B3"].Text = "乔伊"
worksheet.Range["B4"].Text = "迈克"worksheet.Range["C2"].Text = "35"
worksheet.Range["C3"].Text = "28"
worksheet.Range["C4"].Text = "42"worksheet.Range["D2"].Text = "工程师"
worksheet.Range["D3"].Text = "律师"
worksheet.Range["D4"].Text = "医生"# 保存工作簿
workbook.SaveToFile("output/写入数据到单元格.xlsx", FileFormat.Version2016)
workbook.Dispose()

输出的Excel工作簿:
写入文本到Excel工作表

通过Python写入数组到Excel工作表

使用 Worksheet.InsertArray(arrObject: List[], firstRow: int, firstColumn: int, isVertical: bool) 方法可以插入数组到Excel工作表中,同时可设置插入的位置及方式。以下是操作步骤介绍:

  1. 导入所需模块。
  2. 创建 Workbook 对象以创建 Excel 工作簿。
  3. 使用 Workbook.Worksheets.Clear() 方法清除默认的工作表,并使用 Workbook.Worksheets.Add() 方法新建一个名为 “销售数据” 的工作表。
  4. 使用 Worksheet 类下的属性设置单元格格式。
  5. 创建一个二维数组 tableArray,其中包含要插入到工作表的数据。
  6. 遍历二位数组的每一个列表,使用 Worksheet.InsertArray() 方法将列表中的数据插入到工作表的指定单元格中。
  7. 使用 Workbook.SaveToFile() 方法将工作簿保存到指定的文件中并关闭工作簿。

代码示例:

from spire.xls import Workbook
from spire.xls import FileFormat# 创建Excel工作簿
workbook = Workbook()# 清除默认工作表并新建工作表
workbook.Worksheets.Clear()
worksheet = workbook.Worksheets.Add("销售数据")# 设置单元格格式
worksheet.Range["A1:D1"].Style.Font.IsBold = True
worksheet.Rows[0].RowHeight = 30
worksheet.Range["A1:D1"].Style.Font.Size = 12
worksheet.Range["A2:D4"].Style.Font.Size = 11# 数组
tableArray = [["日期", "产品", "销售额"],["20220101", "产品A", "1000"],["20220101", "产品B", "1500"],["20220102", "产品A", "1200"],["20220102", "产品B", "1800"],["20220103", "产品A", "900"],["20220103", "产品B", "1600"]
]# 将数据逐行插入工作表
i = 1
for array in tableArray:worksheet.InsertArray(array, i, 1, False)i += 1# 保存工作簿
workbook.SaveToFile("output/写入数组到工作表.xlsx", FileFormat.Version2016)
workbook.Dispose()

输出的Excel工作簿:
写入数组到Excel工作表

通过Python写入CSV数据到Excel工作表

在将CSV数据写入Excel表格时,我们可以直接使用 Workbook.LoadFromFile() 方法载入CSV文件并保存为XLSX格式,从而将CSV文件直接转换为Excel工作簿。再载入CSV文件时,可通过分隔符作为参数来载入不同分隔符的CSV表格。以下是操作示例:

  1. 导入所需模块。
  2. 创建Workbook类的对象。
  3. 使用 Workbook.LoadFromFile() 方法载入CSV文件。
  4. 使用 Workbook.SaveToFile() 方法将CSV文件保存为Excel工作簿。

代码示例:

from spire.xls import Workbook
from spire.xls import FileFormat# 创建Workbook类的对象
workbook = Workbook()# 载入CSV文件
workbook.LoadFromFile("销量统计.csv", ",")# 保存为Excel工作簿
workbook.SaveToFile("output/写入CSV数据到工作表.xlsx", FileFormat.Version2016)
workbook.Dispose()

保存结果:
CSV保存为Excel

通过Python写入XML数据到Excel工作表

写入XML数据到Excel工作表需要读取XML数据,然后先将表头写入工作表,然后再写入对应数据到单元格中。需要根据XML表格数据的结构调整代码进行写入。
下面是操作步骤介绍:

  1. 导入模块。
  2. 创建一个Workbook类的对象。
  3. 清除默认工作表并使用 Workbook.Worksheets.Add(str Name) 方法添加一个工作表。
  4. 设置工作表的单元格格式。
  5. 加载XML数据,使用xml.etree.ElementTree模块的parse方法解析XML文件,获取根元素和子元素。
  6. 获取第一个student节点来确定列数和表头。
  7. 写入表头,通过迭代表头节点并将其作为列标题写入工作表。
  8. 写入数据,通过迭代每个学生节点和对应的数据节点,使用 Worksheet.SetValue(int rowIndex, int columnIndex, str Valuw) 将数据值写入工作表。
  9. 使用SaveToFile方法将工作簿保存为指定路径的Excel文件并释放资源。

代码示例:

from spire.xls import *
from spire.common import *
import xml.etree.ElementTree as ET# 创建一个Workbook类的对象
workbook = Workbook()# 清除默认工作表并添加一个工作表
workbook.Worksheets.Clear()
worksheet = workbook.Worksheets.Add("学生信息")# 设置单元格格式
for i in range(len(worksheet.Columns)):col = worksheet.Columns.get_Item(i)col.ColumnWidth = 10# 加载 XML 数据
xml_tree = ET.parse("学生信息.xml")
xml_root = xml_tree.getroot()# 获取第一个order节点来确定列数和表头
first_student = xml_root.find("student")
header = list(first_student.iter())[1:]  # 跳过第一个节点# 写入表头
for col_index, header_node in enumerate(header, start=1):header_text = header_node.tagworksheet.SetValue(1, col_index, header_text)# 写入数据
row_index = 2
for student in xml_root.iter("student"):for col_index, data_node in enumerate(list(student.iter())[1:], start=1):  # 跳过第一个节点value = data_node.textheader_text = list(header[col_index - 1].iter())[0].tagworksheet.SetValue(row_index, col_index, value)row_index += 1# 保存工作簿为新的 Excel 文件
workbook.SaveToFile("output/写入XML到工作表.xlsx")
workbook.Dispose()

部分XML数据:

<?xml version="1.0" encoding="UTF-8"?>
<students><student><id>1</id><name>John Doe</name><major>Data Science</major><gpa>3.8</gpa><age>20</age><gender>Male</gender><contact><email>john.doe@example.com</email><phone>123-456-7890</phone></contact></student>

输出的Excel工作簿:
XML写入Excel工作表

总结
本文介绍了如何使用Python将各种数据保存为Excel表格,包括文本、数组、XML、CSV等。通过Python代码,我们可以轻松地保存各种数据到Excel工作表中,实现批量操作,快速生成视觉友好地电子表格。Spire.XLS for Python还支持许多其他功能,可前往Spire.XLS for Python教程查看。

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

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

相关文章

揭秘人工智能:探索智慧未来

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;数据结构、网络奇遇记 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. 什么是人工智能?二. 人工智能的关键技术2.1 机器学习2.2 深度学习2.1 计算机…

《系统架构设计师教程(第2版)》第3章-信息系统基础知识-05-专家系统(ES)

文章目录 1. 先了解人工智能2.1 人工智能的特点2.2 人工智能的主要分支2. ES概述2.1 概述2.2 和一般系统的区别1)第一遍说了5点(理解为主)2)第二遍说的3点(主要记这个)3. ES的特点4. ES的组成4.1 知识库4.2 综合数据库4.3 推理机4.4 知识获取模块4.5 解释程序4.6 人一机接…

linux泡妞大法之Nginx网站服务

技能目标 学会 Nginx 网站服务的基本构建 了解 Nginx 访问控制实现的方法 掌握 Nginx 部署虚拟主机的方法 学会 LNMP 架构部署及应用的方法 在各种网站服务器软件中&#xff0c;除了 Apache HTTP Server 外&#xff0c;还有一款轻量级…

授权策略(authorize方法)

authorize方法&#xff08;授权策略的使用示例&#xff09; $this->authorize(destroy, $status) 要实现这个功能&#xff0c;你需要执行以下步骤&#xff1a; 1、创建一个授权策略&#xff1a; 在Laravel中&#xff0c;授权策略是用于定义用户对特定操作的权限的类。你可…

我是一片骂声中成长起来的专家,RocketMQ消息中间件实战派上下册!!

曾几何&#xff0c;我的技术真的很烂&#xff0c;烂到技术主管每次都是点名要Review我的业务代码。 曾几何&#xff0c;我对技术沉淀没有一点自我意识&#xff0c;总是觉得临时抱一下佛脚就可以了。 曾几何&#xff0c;我也觉得技术无用&#xff0c;看看那些业务领导&#xf…

每日一道算法题day-two(备战蓝桥杯)

今天带来的题目是&#xff1a; 填充 有一个长度为 n的 0101 串&#xff0c;其中有一些位置标记为 ?&#xff0c;这些位置上可以任意填充 0 或者 1&#xff0c;请问如何填充这些位置使得这个 0101 串中出现互不重叠的 00 和 11 子串最多&#xff0c;输出子串个数。 输入格式…

【Kubernetes】Kubernetes ConfigMap 实战指南

ConfigMap 是 Kubernetes 中一种用于存储配置信息的资源对象,它允许您将配置与应用程序解耦,轻松管理和更新配置。在这个实战指南中,我们将涵盖创建、更新、删除 ConfigMap,并探讨其原理、优点、不足。最后,我们将通过一个实际案例演示如何在 Node.js 应用程序中使用 Conf…

Spring框架-Spring Bean管理

文章目录 Spring Bean管理Spring Bean配置方式&#xff1a;使用XML配置方式&#xff1a;User.javaapplicationContext.xmlUserTest.java 使用注解配置方式&#xff1a;ComponentServiceRepositoryConfigurationScopeValueQualifierPrimary Bean的作用域和生命周期&#xff1a;B…

2023年广东省网络安全A模块(笔记详解)

模块A 基础设施设置与安全加固 一、项目和任务描述&#xff1a; 假定你是某企业的网络安全工程师&#xff0c;对于企业的服务器系统&#xff0c;根据任务要求确保各服务正常运行&#xff0c;并通过综合运用登录和密码策略、流量完整性保护策略、事件监控策略、防火墙策略等多…

企业数据资源入表,对数商企业有什么变化?释放了什么信号?

不是必须的&#xff0c;二者没有必然联系。 数据资产入表的专业术语是数据资产会计核算。在《企业数据资源相关会计处理暂行规定》出台之前&#xff0c;很多企业的数据产品研究和开发阶段所产生的支出大都是费用化&#xff0c;直接计入损益表&#xff0c;但企业有一部分数据产…

Linux习题4

解析&#xff1a; 用二进制表示 rwx&#xff0c;r 代表可读&#xff0c;w 代表可写&#xff0c;x 代表可执行。如果可读&#xff0c;权限二进制为 100&#xff0c;十进制是4&#xff1b;如果可写&#xff0c;权限二进制为 010&#xff0c;十进制是2&#xff1b; 如果可执行&a…

如何在Linux上部署1Panel面板并远程访问内网Web端管理界面

文章目录 前言1. Linux 安装1Panel2. 安装cpolar内网穿透3. 配置1Panel公网访问地址4. 公网远程访问1Panel管理界面5. 固定1Panel公网地址 前言 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器&#xff0c;包括主机监控、…

JAVA那些事(八)异常处理

异常处理机制 Java中的异常处理机制是Java程序设计中非常重要的一个特性&#xff0c;它允许程序在出现错误或意外情况时进行适当的响应&#xff0c;而不是直接导致程序崩溃。异常处理遵循“捕获或者声明”原则&#xff0c;这意味着程序员要么捕获并处理可能发生的异常&#xf…

ReactNative 常见问题及处理办法(加固混淆)

文章目录 摘要 引言 正文ScrollView内无法滑动RN热更新中的文件引用问题RN中获取高度的技巧RN强制横屏UI适配问题低版本RN&#xff08;0.63以下&#xff09;适配iOS14图片无法显示问题RN清理缓存RN navigation参数取值pod install 或者npm install 443问题处理 打开要处理的…

2023中国PostgreSQL数据库生态大会-核心PPT资料下载

一、峰会简介 大会以“极速进化融合新生”为主题&#xff0c;探讨了PostgreSQL数据库生态的发展趋势和未来方向。 在大会主论坛上&#xff0c;专家们就PostgreSQL数据库的技术创新、应用实践和生态发展进行了深入交流。同时&#xff0c;大会还设置了技术创新&云原生论坛、…

2023年后,AI 还有什么研究方向有前景?

什么是AI ​ AI代表人工智能&#xff0c;它是指通过计算机科学技术使机器能够执行需要智力的任务的一种技术。这些任务包括学习、推理、问题解决和感知等&#xff0c;通常是人类智能的表现。人工智能的目标是使计算机系统能够执行需要人类智力的任务&#xff0c;而不需要人类的…

国产高分七号光学影像产品预处理步骤

1.引言 高分七号卫星采用主被动光学复合测绘新体制&#xff0c;星上搭载了双线阵相机、激光测高仪等有效载荷&#xff0c;其中双线阵相机可有效获取20公里幅宽、优于0.8m&#xff08;后视&#xff1a;0.65m;前视&#xff1a;0.8m&#xff09;分辨率的全色立体影像和2.6m分辨率的…

Java中的Queue

Java中的Queue 在Java中&#xff0c;Queue 接口代表了一个队列数据结构&#xff0c;它按照先进先出&#xff08;First In, First Out&#xff0c;FIFO&#xff09;的原则进行元素的操作。Queue 接口扩展自 Collection 接口&#xff0c;定义了一系列方法&#xff0c;包括添加、删…

JavaWeb——后端之Mybatis

四、Mybatis 概念&#xff1a; Mybatis是一款持久层&#xff08;Dao层&#xff09;框架&#xff0c;用于简化JDBC&#xff08;Sun操作数据库的规范&#xff0c;较繁琐&#xff09;的开发 历史&#xff1a; Apache的一个开源项目iBatis&#xff0c;2010年由apache迁移到了goog…

Zookeeper(持续更新)

VIP-01 Zookeeper特性与节点数据类型详解 文章目录 VIP-01 Zookeeper特性与节点数据类型详解正文1. 什么是Zookeeper&#xff1f;2. Zookeeper 核心概念2.1、 文件系统数据结构2.2、监听通知机制2.3、Zookeeper 经典的应用场景3.2. 使用命令行操作zookeeper 正文 什么是Zookee…