使用 Python 数据写入 Excel 工作表

这篇具有很好参考价值的文章主要介绍了使用 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 单元格操作示例:

  1. 导入所需模块。
  2. 创建 Workbook 类的对象以创建 Excel 工作簿。
  3. 使用 Workbook.Worksheets.Clear() 方法删除默认的工作表,并使用 Workbook.Worksheets.Add() 方法新建一个工作表。
  4. 通过 Worksheet 类下的属性设置单元格格式。
  5. 通过 Worksheet.Range[].Text 属性添加文本或数值到指定单元格。
  6. 使用 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 工作表,python,excel,linux

通过 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)

# 保存工作簿
workbook.SaveToFile("output/写入数组到工作表.xlsx", FileFormat.Version2016)
workbook.Dispose()

输出的 Excel 工作簿:

使用 Python 数据写入 Excel 工作表,python,excel,linux

通过 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()

保存结果: 

使用 Python 数据写入 Excel 工作表,python,excel,linux

通过 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.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 工作表,python,excel,linux文章来源地址https://www.toymoban.com/news/detail-800023.html

到了这里,关于使用 Python 数据写入 Excel 工作表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • python如何操作excel,在excel中读取和写入数据

    python如何操作excel,在excel中读取和写入数据

    Excel 是 Microsoft 为使用 Windows 和 Apple Macintosh 操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使 Excel 成为最流行的个人计算机数据处理软件。在 1993 年,作为 Microsoft Office 的组件发布了5.0版之后, Excel 就开始成为

    2024年02月03日
    浏览(7)
  • Python+pandas数据直接写入和接续写入Excel

    Python+pandas数据直接写入和接续写入Excel

    数据类型(3行7列的数据)和: (7行1列的数据) 直接写入两个不同的sheet 效果: 效果 效果 直接写入:(12条消息) 【python学习】-将数据输出存储到CSV或xls,xlsx文件(并实现将不同数据存储在同一份文件的不同sheet)_electrochemjy的博客-CSDN博客_python输出数据到csv 接续写入:Python

    2024年02月03日
    浏览(14)
  • 【Python】将数据写入excel文件中

    【Python】将数据写入excel文件中

    python实现将数据写入excel文件中。 1、导入依赖包xlwt 注意:这里的xlwt是python的第三方模块,需要下载安装才能使用(如果没安装可直接在终端输入pip install xlwt进行安装)。 2、创建excel表格类型文件 3、在excel表格类型文件中建立一张sheet表单 4、将指定值写入sheet 5、保存exc

    2024年02月12日
    浏览(41)
  • Python读取写入数据到Excel文件

    Python读取写入数据到Excel文件

    【Linux干货教程】Ubuntu Linux 换源详细教程 大家好,我是洲洲,欢迎关注,一个爱听周杰伦的程序员。关注公众号【程序员洲洲】即可获得10G学习资料、面试笔记、大厂独家学习体系路线等…还可以加入技术交流群欢迎大家在CSDN后台私信我! Hello,各位看官老爷们好,洲洲已

    2024年02月12日
    浏览(44)
  • python打开已有的excel并写入数据

    python打开已有的excel并写入数据

    1、首先需要安装3个包 xlrd 读取表格的 xlwt 写入数据的 xlutils 方便使用copy来转储原xls格式用来进一步写入数据 2、这是原表的数据 3、以下是源码   4、运行代码后就可以看到已经加完的数据    

    2024年02月15日
    浏览(8)
  • 用python将数据写入Excel文件中

    用python将数据写入Excel文件中

    1、导入第三方库 xlwt 2、调用xlwt模块中的Workbook方法来创建一个excel表格类型文件,其中的第一个参数是设置数据的编码格式,这里是’utf-8’的形式,style_compression设置是否压缩,不是很常用,赋值为0表示不压缩。 3、用wb对象调用add_sheet方法来建立一张sheet表,这里面的第一

    2024年02月15日
    浏览(40)
  • python利用docxtpl将excel数据写入word表格

    python利用docxtpl将excel数据写入word表格

    解决问题一:将excel数据读取,并将其保存在word中的表格 解决问题二:使用xlrd读入excel数据,如果是整数的话,打开word后发现保存变成了浮点数,后边多了“.0”。 问题一、 可以参考docxtpl快速上手使用,数据填入以及循环写入表格_sxuccs的博客-CSDN博客 docxtpl/python-docx_雪球干

    2024年02月12日
    浏览(8)
  • Python 将列表数据写入文件(txt, csv,excel)

    Python 将列表数据写入文件(txt, csv,excel)

    将数据写入新文件 将数据写入第 i 行,第 j 列

    2024年01月16日
    浏览(174)
  • 使用python读Excel文件并写入另一个xls模版

    使用python读Excel文件并写入另一个xls模版

    效果如下: 原文件内容 转化后的内容 大致代码如下: 1. load_it.py    2. gen_excel.py     

    2024年02月12日
    浏览(13)
  • Python-openpyxl-在Excel表格指定区域写入指定数据

    重点1:指定值要写成列表list形式,一行一个list,区域为一个大list; 重点2:定义的函数可以将Values按指定区域传入,在函数参数中指定起始行号和列号,即可通过函数遍历所有取值,得到该区域。

    2024年03月08日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包