使用 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 工作簿:

通过 Python 写入数组到 Excel 工作表
使用 Worksheet.InsertArray(arrObject: List[], firstRow: int, firstColumn: int, isVertical: bool) 方法可以插入数组到 Excel 工作表中,同时可设置插入的位置及方式。以下是操作步骤介绍:
- 导入所需模块。
- 创建 Workbook 对象以创建 Excel 工作簿。
- 使用 Workbook.Worksheets.Clear() 方法清除默认的工作表,并使用 Workbook.Worksheets.Add() 方法新建一个名为 "销售数据" 的工作表。
- 使用 Worksheet 类下的属性设置单元格格式。
- 创建一个二维数组 tableArray,其中包含要插入到工作表的数据。
- 遍历二位数组的每一个列表,使用 Worksheet.InsertArray() 方法将列表中的数据插入到工作表的指定单元格中。
- 使用 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) # 保存工作簿
workbook.SaveToFile("output/写入数组到工作表.xlsx", FileFormat.Version2016)
workbook.Dispose()
输出的 Excel 工作簿:

通过 Python 写入 CSV 数据到 Excel 工作表
在将 CSV 数据写入 Excel 表格时,我们可以直接使用 Workbook.LoadFromFile () 方法载入 CSV 文件并保存为 XLSX 格式,从而将 CSV 文件直接转换为 Excel 工作簿。再载入 CSV 文件时,可通过分隔符作为参数来载入不同分隔符的 CSV 表格。以下是操作示例:
- 导入所需模块。
- 创建 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法载入 CSV 文件。
- 使用 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()
保存结果:

通过 Python 写入 XML 数据到 Excel 工作表
写入 XML 数据到 Excel 工作表需要读取 XML 数据,然后先将表头写入工作表,然后再写入对应数据到单元格中。需要根据 XML 表格数据的结构调整代码进行写入。 下面是操作步骤介绍:
- 导入模块。
- 创建一个 Workbook 类的对象。
- 清除默认工作表并使用 Workbook.Worksheets.Add(str Name) 方法添加一个工作表。
- 设置工作表的单元格格式。
- 加载 XML 数据,使用 xml.etree.ElementTree 模块的 parse 方法解析 XML 文件,获取根元素和子元素。
- 获取第一个 student 节点来确定列数和表头。
- 写入表头,通过迭代表头节点并将其作为列标题写入工作表。
- 写入数据,通过迭代每个学生节点和对应的数据节点,使用 Worksheet.SetValue(int rowIndex, int columnIndex, str Valuw) 将数据值写入工作表。
- 使用 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.tag
worksheet.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.text
header_text = list(header[col_index - 1].iter())[0].tag
worksheet.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 工作簿:

总结:本文介绍了如何使用 Python 将各种数据保存为 Excel 表格,包括文本、数组、XML、CSV 等。通过 Python 代码,我们可以轻松地保存各种数据到 Excel 工作表中,实现批量操作,快速生成视觉友好地电子表格。Spire.XLS for Python 还支持许多其他功能,可前往 Spire.XLS for Python 教程查看。
使用 Python 将数据写入 Excel 工作表的更多相关文章
- 如何通过C++ 将数据写入 Excel 工作表
直观的界面.出色的计算功能和图表工具,使Excel成为最流行的个人计算机数据处理软件.在独立的数据包含的信息量太少,而过多的数据又难以理清头绪时,制作成表格是数据管理的最有效手段之一.这样不仅可以方便 ...
- python读取数据写入excel的四种操作
Python对Excel的读写主要有:xlrd.xlwt.xlutils.openpyxl.xlsxwriter几种 xlutils结合xlrd: 操作的是以xls后缀的excel,读取文件保留原格式 ...
- python读取数据写入excel
'''写入excel文件''' import xlsxwriter # todo 创建excel文件 xl = xlsxwriter.Workbook(r'D:\testfile\test.xlsx' ...
- 使用python将数据写入excel
先来个简单的例子: #!/usr/bin/python #coding=utf-8 # ======================================================== ...
- Python将数据写入excel或者txt,读入csv格式或xls文件,写入csv(写一行空一行解决办法)
1.写入excel,一开始不需要自己新建一个excel,会自动生成 attribute_proba是我写入的对象 import xlwt myexcel = xlwt.Workbook() sheet ...
- python 将数据写入excel
摘要链接: python第三方库——xlrd和xlwt操作Excel文件学习 :http://blog.csdn.net/wangkai_123456/article/details/50457284 ...
- python将数据写入excel代码,python与office交互
# -*- coding: utf-8 -*- from smartframe.header import * import pymysql import json import importlib, ...
- Python:将爬取的网页数据写入Excel文件中
Python:将爬取的网页数据写入Excel文件中 通过网络爬虫爬取信息后,我们一般是将内容存入txt文件或者数据库中,也可以写入Excel文件中,这里介绍关于使用Excel文件保存爬取到的网页数据的 ...
- 初识python: xlsxwriter 将数据写入Excel
使用 xlsxwriter 模块将数据写入excel . #!/user/bin env python # author:Simple-Sir # time:2020/9/24 12:51 # 使用 ...
- java数据写入Excel
正好最近公司要写一个对账的功能,后台用java从银行获得对账信息,数据是json类型的,然后写入excel中发送给一卡通中心的服务器上,网上找了很多代码,然后整合和改正,代码如下. import ja ...
随机推荐
- css中的字体样式
一.字体的样式 font-style:"normal" 正常 font-style:"italic"斜体 二.字体的粗细 font-weight:"b ...
- Maze 1D 题解
题目大意 在数轴上给定一串行动指令,类型有两种:向左移动一个单位 / 向右移动一个单位.要求最后一步到达一个没有到达过的位置.可以在数轴上放置若干个障碍物阻碍移动,问在放置的障碍物最少的情况下有多少放 ...
- Macos下用Clion调试chromium源码
1:下载CLion 2021.1.3(网上有破解版) 2:选择File->Open 导入chromium源码 3:在Src同级目录新建一个CMakeLists.txt 4:点击clion编译按钮 ...
- STL 迭代器
工作之余看了一下<<accelerated c++>>这本书,挺有意思没,没有一大堆概念,直接就开始一步一步编写代码. 书中时不时会涉及到一些stl的概念,比如容器,算法,迭代 ...
- 飞码LowCode前端技术系列(一):数据结构设计
简介 飞码是京东科技研发的低代码产品,可使营销运营域下web页面快速搭建.飞码是单web页面搭建工具,从创建页面到监测再到投产的一站式解决方案.会通过七篇文章介绍飞码,分别是:(1)背景与数据结构设计 ...
- 学习Hadoop不错的系列文章(转)
http://www.cnblogs.com/xia520pi/archive/2012/04/22/2464934.html 1)Hadoop学习总结 (1)HDFS简介 地址:http://for ...
- [Python急救站课程]叠加等边三角形的绘制
叠加等边三角形的绘制 from turtle import * penup() fd(-100) pendown() pensize(10) seth(60) fd(200) seth(-60) fd ...
- 学生开发者勇担青年使命,用AI守护少数人的“视界”
本文分享自华为云社区<[先锋开发者云上说]学生开发者勇担青年使命,用AI守护少数人的"视界">,作者:华为云社区精选 . 青年动人之处,在于他们的勇气,和非凡的创造探索 ...
- 提升开发技能:10个高级的JavaScript技巧
前言 在这个快速发展的数字时代,JavaScript作为一种广泛应用的编程语言,其重要性愈发凸显.为了在竞争激烈的开发领域中保持竞争力,不断提升自己的技能是至关重要的.本文小编将您介绍10个高级的Ja ...
- uni-app学习笔记——路由与页面跳转
小颖最近在学习小程序,怕自己前看后忘,毕竟还没开始进入项目实践中,就自己瞎倒腾嘻嘻,今天来看下 uni-app 的路由与页面跳转,小颖就简单列举下它们的用法,具体的大家可以看官网哦!啦啦啦啦啦 ...