Python使用openpyxl处理Excel:读写、样式与合并单元格详解
本文详细介绍如何使用Python的openpyxl库进行Excel文件处理。涵盖工作簿与工作表的获取、单元格数据的读取与写入,以及通过坐标和切片定位单元格。同时讲解如何设置对齐方式、背景颜色及字体,并演示合并单元格的具体方法,帮助开发者高效完成Excel自动化任务。
一、使用openpyxl读取Excel
在实际开发中,95%的场景下都使用该模块。目前主流的Excel处理库中,只有openpyxl保持活跃维护状态。
1、加载工作簿(Workbook)
workBook=openpyxl.load_workbook('path(.xlsx)').encode('gbk')
print workBook
2、获取工作表(Sheet)
sheetList=workBook.get_sheet_names() 获取所有sheet的名称,保存为列表格式 print sheetList
3、操作单元格(Cell)
(1)使用workBook.get_sheet_by_name('test1')可以获取指定名称的工作表。
(2)通过sheet1.rows属性可以获取所有行数据,返回结果为一个迭代器。
需要注意的是,行和列的索引均从1开始,而非从0开始。
for i in rowsData: #print i #print type(i) 元组格式 for j in i: print j.coordinate(每一个cell的下表),j.value(cell的值), 打印出所有cell的内容 print
(3)通过sheet1.columns属性可以获取所有列数据,同样返回一个迭代器。
(4)若需更新某个单元格,可直接赋值并保存工作簿。
j.value=u'重新赋值' workBook.save(path(之前操作的路径))
4、单元格的定位方式
主要有两种定位方式:
(1)使用c1=sheet1.cell(coordinate='B2')通过坐标字符串定位单元格。
print c1.value
(2)使用c2=sheet1['B2'],采用字典格式通过键值查找对应的单元格对象。
print c2.value
(3)使用c1=sheet1.cell(row=2,column=3)通过行号和列号定位,例如第二行第三列。
print c1.value
(4)使用切片语法获取指定区域的单元格,例如sheet1['C2':'D7'],返回一个包含元组的嵌套结构。
area=sheet1['C2':'D7'] 得到一个元组 print area 元组里面嵌套元组 for i in area: # print i for j in i: pass # print j print j.coordinate, j.value = j.coordinate print
二、向Excel写入单元格
1、创建工作簿(Workbook)
workBook=openpyxl.Workbook()
2、创建或获取工作表(Sheet)
sheet1=workBook.create_sheet(title='sheet1',index=0) index=0 定位第几个sheet
3、写入单元格数据
示例代码:sheet1['B6'].value=u'testB6',随后执行workBook.save(path)保存文件。
4、在下一空行整行写入数据,可使用sheet1.append()方法。
sheet1.append([1,2,3,4,5,6,7])
三、Excel相关的样式操作
import openpyxl
from openpyxl.styles import PatternFill,Alignment,Font,colors
workBook=openpyxl.Workbook()
sheet1=workBook.create_sheet('test')
1、合并单元格,支持两种不同的实现方式。
sheet1.merge_cells(range_string='A2:G2') sheet1.merge_cells(start_row=2,start_column='A',end_row=2,end_column='G')
2、设置排版样式,包括对齐方式(水平对齐:左、中、右)。
al=Alignment(horizontal='center') horizontal:left,center,right sheet1['A2'].alignment=al
3、设置单元格背景颜色。
fill=PatternFill(patternType='solid',fgColor=colors.BLUE) sheet1['A2'].fill=fill
4、设置字体颜色及大小。
sheet1[A2].value font=Font(colors=colors.WHITE,size=14) sheet1['A2'].font=font
总结
以上内容介绍了Python针对Excel的基本操作方法,旨在帮助读者掌握核心技能。如有任何疑问,欢迎留言交流,小编会及时回复。感谢大家的支持!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













