python操作Excel,你觉得哪个库更好呢?

 admin   2025-10-18 01:35   72 人阅读  0 条评论

网友们一直都想了解一些关于python操作Excel,你觉得哪个库更好呢?和numbers怎么居中的知识点,那么本文接下来带大家走进python操作Excel,你觉得哪个库更好呢?的案。

gzhpython爬虫实用之路

Excel数据的类型和组织

每个Excel数据文件从上到下分为对象

工作簿每个Excel文件都是一个工作簿。

sheet每个工作簿可以包含多个sheet,分别对应我们在Excel左下角看到的“sheet1”、“sheet2”等。

Cell每张sheet就是我们平时看到的一个表格。它可以包含m行和n列。每个确定的行号和列号对应的网格就是一个单元格。

Excel模块比较

Mac

工具PyCharm

蟒蛇蟒蛇36

Excel行数64543

打开PyxlxlRDAMP;XLWTXLSXWRITER读取9406903028488165220927000045776不支持读写8909524202346802154118621839417332144类型XLSXXLSX,XLSXLSX格式可以读取XLSX不支持X

从现有的xlsx文件中读取数据,按照Excel文件的三个层次来看看上述三个库的操作方法。

xlrd&xlwt&xlutils

xlrd负责读取Excel文件,支持xls和xlsx

xlwt负责写入Excel文件,仅支持xls格式。目前Office2019仅支持2003版本的格式,难怪它会被放弃。

xlutils是一个工具模块。我们一般只使用复制模块来修改现有的Excel文件。

打开工作簿

param:encoding_override读取Excel文件时默认使用ASCII编码。可以在此处指定编码。

param:格式化信息

设置是否保存Excel格式,如粗体。一般只适用于简单格式,不支持xlsx格式文件。

这样可以节省内存。在这种情况下,通过忽略文件BLANK和MULBLANK记录,“空白”单元格将被视为空白

param:按需

按需加载工作表。默认加载为False,即加载所有工作表。当设置为True时,在调用booksheet_by_name或booksheet_by_index之前,不会加载工作表。booksheets加载所有工作表。booksheet_loaded确定表单是否已加载。bookunload_sheet卸载已加载的表单。

打开工作簿

导入xlrd

book=xlrdopen_workbook'myfilexls'获取一个sheet,也可以获取名字

打印工作表名称、工作表行数、工作表列数

笔记

Sheet类方法、属性等

sheetcellrowx,colx:根据给定的行列参数获取Cell类,并返回Cell类实例对象。

sheetcell_typerowx,colx:返回对应单元格对象的Type类型。

sheetcell_valuerowx,colx:返回对应单元格对象的值。

sheetcolcolx:返回指定列的所有单元格类对象序列。

sheetname:返回工作表对象的名称。

sheetncols:返回工作表对象中的列数。

sheetnrows:返回工作表对象中的行数。

sheetrowrowx:返回指定行的所有单元格对象的序列。

sheetrow_valuesrowx,start_colx=0,end_colx=None:获取行内容。

sheetcol_valuescolx,start_rowx=0,end_rowx=None:获取列内容。

获取对应单元格的值

cell=sheetcellrowx=29,colx=3输出元组2018,2,23,0,0,0openpyxl

openpyxl支持读写操作,但不支持xls文件的读写

一个简单的创建示例

fromopenpyxlimportWorkbookwb=Workbookws=wbactivews['A1']=42wsappend[1,2,3]importdatetimews['A3']=datetimedatetimenowstrftime'Y-m-d'wbsave'samplexlsx'通过openpyxlworkbookWorkbookactive获取工作表

ws=wbactive

注意

该方法使用_active_sheet_index属性,默认设置为0,即第一个工作表。除非手动修改,否则使用活动方法将始终生成第一个工作表。

您还可以通过openpyxlworkbookWorkbookcreate_sheet方法创建工作表

ws1=wbcreate_sheet'Mysheet'插入到开头

创建的sheet名称会自动创建,并根据sheet、sheet1、sheet2自动增长。其名称可以通过title属性修改。

wstitle='新标题'

默认工作表选项卡是白色的。可以通过RRGGBB颜色修改sheet_propertiestabColor属性来修改sheet选项卡按钮的颜色

wssheet_propertiesabColor='1072BA'

当您设置工作表的名称时,您可以将其视为工作簿中的键。

获取工作表有两种方法

ws3=wb['新标题']--推荐

ws4=wbget_sheet_by_name'新标题'

查看工作簿中所有工作表名称booksheetnames

遍历工作表

对于book:中的表打印表标题操作数据

单元格可以看作是工作表的键,通过键来访和设置单元格中的数据

值=ws['A4']

ws['A4']=数据

注意

当工作表在内存中创建时,它不包含单元格。单元格是在第一次访时创建的

您可以在循环中在内存中创建单元格,并且将创建一些单元格而不指定其值创建100x100cells

foriinrange1,101:forjinrange1,101:wscellrow=i,column=j通过切片范围指定多个单元格

cell_range=ws['A1':'C2']

您还可以范围行或列

colC=ws['C']

col_range=ws['C:D']

rwo10=ws[10]

rwo_range=ws[5:10]

您还可以使用openpyxlworksheetWorksheetiter_rows方法该方法需要指定rows->rows、cutoffcolumns

forrowinwsiter_rowsmin_col=1,min_row=1,max_col=3,max_row=2:forcellinrow:printcellvalue如果需要遍历所有文件的行或列,可以使用openpyxlworksheetWorksheetrows属性tuplewsrows或openpyxlworksheetWorksheetcolumns属性tuplewcolumns

保存工作簿最简单、最安全的方法是使用openpyxlworkbookWorkbook对象的openpyxlworkbookWorkbooksave方法

wb=工作簿

wbsave'balancesxlsx'

默认保存位置是python的根目录。

注意具有现有文件名的文件将被自动覆盖。

我们可以导入文件以进行读取或写入。和写作一样,我们可以导入openpyxlload_workbook现有的workbook:

fromopenpyxlimportload_workbookwb2=load_workbook'testxlsx'printwb2get_sheet_names附加函数

您可以一次添加多行数据,从第一个空白行开始

如果需要向整列添加数据

lst=['test1','teset2','test3','test4']forrowinrange1,40:ws1appendlst工作簿相关fromopenpyxlimport工作簿fromopenpyxlcompatimportrangefromopenpyxlutilsimportget_column_letterwb=工作簿dest_filename='empty_bookxlsx'ws1=wbactivews1title=range1中行的“范围名称”,40:ws1append['tests'iforiinrange6]ws2=wbcreate_sheettitle='Pi'ws2['F5']=314ws3=wbcreate_sheettitle='数据'对于范围10中的行,20:对于范围27中的列,54:_=ws3cellcolumn=col,row=row,value=''formatget_column_lettercolprintws3['AA10']valuewbsavefilename=dest_filename使用公式

fromopenpyxlimportWorkbookwb=Workbookws=wbactive设置B1中的数据垂直和水平居中sheet['B1']alignment=Alignmenthorizontal='center',vertical='center'设置行高和列宽

有时数据太长而无法显示,因此需要拉伸和凸起单元格。

列C列宽度sheetcolumn_dimensions['C']width=30合并和拆分单元格

所谓合并单元格,是以合并区域的左上角为基准。

介绍python操作Excel,你觉得哪个库更好呢?,以及numbers怎么居中对应的知识点已经解完毕,希望对大家有帮助。

本文地址:http://www.25jiujiu.com/post/2525.html
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?