python针对excel的操作技巧
作者:beter138
这篇文章主要介绍了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
总结
以上所述是小编给大家介绍的python针对excel的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!