python针对excel的操作技巧

yipeiwu_com5年前Python基础

一. 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的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

python 判断文件还是文件夹的简单实例

如下所示: import os if os.path.isdir(path): print "it's a directory" elif os.path.isfile(path...

python 通过手机号识别出对应的微信性别(实例代码)

python 通过手机号识别出对应的微信性别,具体代码如下所述: def getGender(self,tel): self.d(resourceId="com.tencent....

Python交换变量

如: 代码如下:a, b, c = b, c, a来个复杂一点的例子,再来一顿家喻户晓的“冒泡排序”吧: 代码如下:array =...

tensorflow实现简单的卷积网络

使用tensorflow实现一个简单的卷积神经,使用的数据集是MNIST,本节将使用两个卷积层加一个全连接层,构建一个简单有代表性的卷积网络。 代码是按照书上的敲的,第一步就是导入数据库...

详谈Python高阶函数与函数装饰器(推荐)

详谈Python高阶函数与函数装饰器(推荐)

一、上节回顾 Python2与Python3字符编码问题,不管你是初学者还是已经对Python的项目了如指掌了,都会犯一些编码上面的错误。我在这里简单归纳Python3和Python2各...