网友们一直都想了解一些关于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怎么居中对应的知识点已经解完毕,希望对大家有帮助。
发表评论