python针对excel的操作技巧
一. openpyxl读
95%的时间使用的是这个模块,目前excel处理的模块,只有这个还在维护
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)sheet1=workBook.get_sheet_by_name('test1') 获取某一个具体的sheet
(2)rowsData=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)colsData=sheet1.columns 获取所有的列,并返回迭代器
(4)更新某个单元格
j.value=u'重新赋值' workBook.save(path(之前操作的路径))
4、单元格的定位
两种方式:
(1)c1=sheet1.cell(coordinate='B2')
print c1.value
(2)c2=sheet1['B2'] 字典格式:通过key值找value
print c2.value
(3)c1=sheet1.cell(row=2,column=3) 第二行第三列
print c1.value
(4)切片,获取一个区域的单元格
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
二、写单元格
1、写workBook
workBook=openpyxl.Workbook()
2、sheet
sheet1=workBook.create_sheet(title='sheet1',index=0) index=0 定位第几个sheet
3、cell
sheet1['B6'].value=u'testB6'
workBook.save(path)
4、在下一空行整行写入
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
总结
相关推荐
A宇 2019-09-03
allentony 2019-09-06
socket 2019-09-02
LittleCoder 2019-07-01
xhgWanderingsoul 2020-08-16
flycony 2020-07-05
柠檬班 2020-07-04
magicandy 2020-07-04
sulindong0 2020-05-18
HSdiana 2020-03-28
LULUBAO 2020-03-05
swazerz 2020-02-11
行吟阁 2020-02-03
wodeccu 2020-01-03
玫瑰小妖 2019-12-23
云端漂移 2019-12-21
meylovezn 2019-12-17