|
在数据处理和报告生成等工作中,Excel表格是一种常见且广泛使用的工具。然而,手动将大量数据输入到Excel表格中既费时又容易出错。为了提高效率并减少错误,使用Python编程语言来自动化数据写入Excel表格是一个明智的选择。Python作为一种简单易学且功能强大的编程语言,其丰富的模块能够处理各种任务,包括操作Excel文件。通过编写Python代码,您可以轻松地将数据写入Excel表格,无论是小规模的数据集还是大规模的数据处理,使用Python自动化数据写入过程都可以大大提高工作效率,减少人为错误的发生。本文中将介绍如何使用Python写入数据到Excel表格,提供更高效和准确的Excel表格数据写入方案,从而简化数据处理流程并节省宝贵的时间和精力。本文主要包含以下几个方面:文章目录Excel数据写入相关介绍通过Python写入文本或数字数据到Excel单元格通过Python写入数组到Excel工作表通过Python写入CSV数据到Excel工作表通过Python写入XML数据到Excel工作表本文所使用的方法需要用到Spire.XLSforPython,可从官网下载或通过PyPI安装:pipinstallSpire.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()方法保存工作簿到文件并关闭工作簿。代码示例:fromspire.xlsimportWorkbookfromspire.xlsimportWorksheetfromspire.xlsimportFileFormat#创建Excel工作簿workbook=Workbook()#删除工作表并创建新的工作表workbook.Worksheets.Clear()worksheet=workbook.Worksheets.Add("成员信息")#设置单元格格式worksheet.Range["A11"].Style.Font.IsBold=Trueworksheet.Rows[0].RowHeight=30worksheet.Range["A11"].Style.Font.Size=12worksheet.Range["A24"].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()12345678910111213141516171819202122232425262728293031323334353637383940414243输出的Excel工作簿:通过Python写入数组到Excel工作表使用Worksheet.InsertArray(arrObjectist[],firstRow:int,firstColumn:int,isVertical:bool)方法可以插入数组到Excel工作表中,同时可设置插入的位置及方式。以下是操作步骤介绍:导入所需模块。创建Workbook对象以创建Excel工作簿。使用Workbook.Worksheets.Clear()方法清除默认的工作表,并使用Workbook.Worksheets.Add()方法新建一个名为“销售数据”的工作表。使用Worksheet类下的属性设置单元格格式。创建一个二维数组tableArray,其中包含要插入到工作表的数据。遍历二位数组的每一个列表,使用Worksheet.InsertArray()方法将列表中的数据插入到工作表的指定单元格中。使用Workbook.SaveToFile()方法将工作簿保存到指定的文件中并关闭工作簿。代码示例:fromspire.xlsimportWorkbookfromspire.xlsimportFileFormat#创建Excel工作簿workbook=Workbook()#清除默认工作表并新建工作表workbook.Worksheets.Clear()worksheet=workbook.Worksheets.Add("销售数据")#设置单元格格式worksheet.Range["A11"].Style.Font.IsBold=Trueworksheet.Rows[0].RowHeight=30worksheet.Range["A11"].Style.Font.Size=12worksheet.Range["A24"].Style.Font.Size=11#数组tableArray=[["日期","产品","销售额"],["20220101","产品A","1000"],["20220101","产品B","1500"],["20220102","产品A","1200"],["20220102","产品B","1800"],["20220103","产品A","900"],["20220103","产品B","1600"]]#将数据逐行插入工作表i=1forarrayintableArray:worksheet.InsertArray(array,i,1,False)i+=1#保存工作簿workbook.SaveToFile("output/写入数组到工作表.xlsx",FileFormat.Version2016)workbook.Dispose()123456789101112131415161718192021222324252627282930313233343536输出的Excel工作簿:通过Python写入CSV数据到Excel工作表在将CSV数据写入Excel表格时,我们可以直接使用Workbook.LoadFromFile()方法载入CSV文件并保存为XLSX格式,从而将CSV文件直接转换为Excel工作簿。再载入CSV文件时,可通过分隔符作为参数来载入不同分隔符的CSV表格。以下是操作示例:导入所需模块。创建Workbook类的对象。使用Workbook.LoadFromFile()方法载入CSV文件。使用Workbook.SaveToFile()方法将CSV文件保存为Excel工作簿。代码示例:fromspire.xlsimportWorkbookfromspire.xlsimportFileFormat#创建Workbook类的对象workbook=Workbook()#载入CSV文件workbook.LoadFromFile("销量统计.csv",",")#保存为Excel工作簿workbook.SaveToFile("output/写入CSV数据到工作表.xlsx",FileFormat.Version2016)workbook.Dispose()123456789101112保存结果:通过Python写入XML数据到Excel工作表写入XML数据到Excel工作表需要读取XML数据,然后先将表头写入工作表,然后再写入对应数据到单元格中。需要根据XML表格数据的结构调整代码进行写入。下面是操作步骤介绍:导入模块。创建一个Workbook类的对象。清除默认工作表并使用Workbook.Worksheets.Add(strName)方法添加一个工作表。设置工作表的单元格格式。加载XML数据,使用xml.etree.ElementTree模块的parse方法解析XML文件,获取根元素和子元素。获取第一个student节点来确定列数和表头。写入表头,通过迭代表头节点并将其作为列写入工作表。写入数据,通过迭代每个学生节点和对应的数据节点,使用Worksheet.SetValue(introwIndex,intcolumnIndex,strValuw)将数据值写入工作表。使用SaveToFile方法将工作簿保存为指定路径的Excel文件并释放资源。代码示例:fromspire.xlsimport*fromspire.commonimport*importxml.etree.ElementTreeasET#创建一个Workbook类的对象workbook=Workbook()#清除默认工作表并添加一个工作表workbook.Worksheets.Clear()worksheet=workbook.Worksheets.Add("学生信息")#设置单元格格式foriinrange(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:]#跳过第一个节点#写入表头forcol_index,header_nodeinenumerate(header,start=1):header_text=header_node.tagworksheet.SetValue(1,col_index,header_text)#写入数据row_index=2forstudentinxml_root.iter("student"):forcol_index,data_nodeinenumerate(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()1234567891011121314151617181920212223242526272829303132333435363738394041部分XML数据:1JohnDoeDataScience3.8Malejohn.doe@example.com
123-456-78901234567891011121314输出的Excel工作簿:总结本文介绍了如何使用Python将各种数据保存为Excel表格,包括文本、数组、XML、CSV等。通过Python代码,我们可以轻松地保存各种数据到Excel工作表中,实现批量操作,快速生成视觉友好地电子表格。Spire.XLSforPython还支持许多其他功能,可前往Spire.XLSforPython教程查看。
|
|