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

2024-04-30 1740阅读

在数据处理和报告生成等工作中,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工作表

          通过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工作簿:

          如何通过Python将各种数据写入到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()
          

          保存结果:

          如何通过Python将各种数据写入到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.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数据:

          
            
              1
              John Doe
              Data Science
              3.8
              20
              Male
              
                john.doe@example.com
                123-456-7890
              
            
          

          输出的Excel工作簿:

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

          总结

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

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]