脚本宝典收集整理的这篇文章主要介绍了python EXCEL处理,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
openpyxl定义多种数据类型,其中最重要的三种: 1.NULL空值:对应python中的None,表示这个cell里没有数据。 2.number:数字型,统一按照浮点数来进行处理。对应于python中的float。 3.string:字符串型,对应于python中的unicode。
openpyxl处理excel文件三个对象: 1.WorkBook:工作簿,一个excel文件包含多个sheet。 2.sheet:工作表,一个workbook有多个,表名识别,如“sheet1”,“sheet2”等。 3.cell: 单元格,存储数据对象
导入openpyxl文件库
From openpyxl import Workbook #导入workbook类
from openpyxl import load_workbook #导入load_workbook类
#导入PatternFill, Border, Side, Alignment, PRotection, Font, Color, Fill 这些类
#这些类处理单元格填充样式
from openpyxl.styles import PatternFill, Border, Side, Alignment, Protection, Font, Color, Fill
from openpyxl.styles import colors
from openpyxl.styles import Fill,fills from openpyxl.formatting.rule import ColorScaleRule
打开excel有多种方法
1.通过名称:ws=wb[“sheet1”]
2.通过名称:ws=wb.get_sheet_by_name(“sheet1”)
3.通过名字集合来查找:sheet_names = wb.get_sheet_names()
ws = wb.get_sheet_by_name(sheet_names [index])
4.通过当前活动sheet:ws=wb.active
5.通过当前活动sheet:ws=wb.get_active_sheet() #默认为通过index为0的表
创建sheet方法有两种,一种是通过默认的方式,再更改表名,另一种是通过直接创建表名称创建文件。
1.ws=wb.create_sheet()#默认插入到最后
ws.tITle=“New Title” #修改表明
2.ws=wb.create_sheet(0)#默认插入到开始
ws.title=“New Title” #修改表明
3.Ws=wb.create_sheet(title=“Pi”)
读单元格内容有多种方式:通过‘A4’方式,也可以通过row,column方式
通过‘A4’方式:c = ws[‘A4’].value也可以等同于c = ws.cell(‘A4’)
通过row,column方式:c=ws.cell(row=4,column=2)
写单元格内容跟读单元格类似,同样有两种方式
通过‘A4’方式:ws[‘A4’] = 4
通过row,column方式:ws.cell(row=4,column=2).value=‘test’
ws.cell(row = 4,column = 2,value = ‘test’)
可通过cell_range = ws[‘A1’,’C2’] 获取值cell_range[i][j]
可通过get_cell_collection()
获取单元格行数: ws.max_row
获取单元格列数: ws.max_column
# -*- coding: gbk-*-
# author:IT策士
from openpyxl import load_workbook
from openpyxl.styles import PatternFill, Border, Side, Alignment, Protection, Font, Color, Fill
from openpyxl.styles import colors
from openpyxl.styles import Fill,fills
from openpyxl.styles.colors import *
import os
class Excel:
workbook = ''
filepath = ''
def __init__(self,path):
self.filepath = path
if os.path.isfile(path) is not True:
os.mkdir(path)
self.workbook = load_workbook(path)
def add_date(self,date,sheetName,row,column,bgcolor = YELLOW,fontcolor = red):
if self.workbook == '':
return False
try:
self.sheet=self.workbook.get_sheet_by_name(sheetName)
except BaseException,msg:
print u"表格:%s" %sheetName
return False
try:
self.sheet.cell(row=row, column=column, value=date)
self.sheet.cell(row=row, column=column).fill = PatternFill(start_color=Color(rgb=bgcolor),
end_color=Color(rgb=bgcolor), fill_type='solid')
#self.sheet.cell(row=row, column=column).font = Font(color=Color(rgb=fontcolor),name="Calibri", sz=27, family=2, b=False, i=False, scheme="minor")
self.sheet.cell(row=row, column=column).font = Font(color=Color(rgb=fontcolor))
self.workbook.save(self.filepath)
except BaseException,msg:
print u"дÈëÊý¾Ýʧ°Ü"
return False
def get_date(self,sheetName,row,column):
if self.workbook == '':
return False
try:
print sheetName
self.sheet = self.workbook.get_sheet_by_name(sheetName)
except BaseException, msg:
print u"ÎÞЧµÄsheetÃû³Æ:%s" % sheetName
return False
try:
getvalue = self.sheet.cell(row=row, column=column).value
except BaseException,msg:
print u"¶ÁÊý¾Ýʧ°Ü"
return False
return getvalue
def seArch(self,date,sheetName):
list_result= []
if self.workbook == '':
return False
try:
self.sheet = self.workbook.get_sheet_by_name(sheetName)
except BaseException, msg:
print u"ÎÞЧµÄsheetÃû³Æ:%s" % sheetName
return False
try:
maxrow = self.sheet.max_row
maxcolumn = self.sheet.max_column
for i in range(1,maxrow+1):
for j in range(1,maxcolumn+1):
try:
index = self.sheet.cell(row=i,column=j).value.find(date)
except BaseException,msg:
continue
if index>=0:
list_result.append([i, j])
except BaseException,msg:
print u"»ñÈ¡ÐС¢ÁÐÊýʧ°Ü"
return False
return list_result
def close_excel(self):
try:
self.workbook.close()
except BaseException,msg:
print u"¹Ø±ÕÎļþʧ°Ü"
return False
return True
if __name__ == '__main__':
excel = Excel('demo2.xlsx')
excel.add_date(u'teSSDfsft',u'Sheet1',1,1)
print excel.get_date(u'Sheet1',1,1)
print excel.search('test',u'Sheet1')
以上是脚本宝典为你收集整理的python EXCEL处理全部内容,希望文章能够帮你解决python EXCEL处理所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。