300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python写入excel怎么跨列居中_python文件读写(三)-Excel表格三剑客xlwt xlrd xlutils...

python写入excel怎么跨列居中_python文件读写(三)-Excel表格三剑客xlwt xlrd xlutils...

时间:2021-01-08 20:34:42

相关推荐

python写入excel怎么跨列居中_python文件读写(三)-Excel表格三剑客xlwt xlrd xlutils...

1.写xlwt

import xlwt

f = xlwt.Workbook()

sheet1 = f.add_sheet(u'sheet1', cell_overwrite_ok=True)

style = xlwt.XFStyle()#创建格式style1

def font(Name="Times New Roman",Bold=True,Colour=0,Height=0x190,Italic=False,Struck=False):#设置字体格式

doc='''

clolour_index: 0 = Black, 1 = White, 2 = Red, 3 = Green,

4 = Blue, 5 = Yellow, 6 = Magenta, 7 = Cyan

underline:UNDERLINE_DOUBLE 代表双下划线,另外还有 UNDERLINE_NONE,

UNDERLINE_SINGLE,

UNDERLINE_SINGLE_ACC, UNDERLINE_DOUBLE, UNDERLINE_DOUBLE_ACC

height: #0x190是16进制,换成10进制为400,然后除以20,就得到字体的大小为20

'''

font = xlwt.Font() #创建font1

font.name = Name #字体为'Times New Roman',字体为'Algerian'

font.bold = Bold #加粗

font.colour_index = Colour

font.underline = xlwt.Font.UNDERLINE_NONE

font.escapement = xlwt.Font.ESCAPEMENT_SUPERSCRIPT #设置上标

font.family = xlwt.Font.FAMILY_ROMAN

font.height = Height

font.italic = Italic #斜体

font.struck_out = Struck #删除线

return font

def aligment():#设置单元格对齐方式

doc='''#设置水平对齐为居中,May be: HORZ_GENERAL, HORZ_LEFT, HORZ_CENTER,

HORZ_RIGHT,HORZ_FILLED, HORZ_JUSTIFIED, HORZ_CENTER_ACROSS_SEL,

HORZ_DISTRIBUTED

#设置垂直对齐为居中,May be: VERT_TOP,

VERT_CENTER, VERT_BOTTOM, VERT_JUSTIFIED, VERT_DISTRIBUTED'''

alignment = xlwt.Alignment() #创建alignment

alignment.horz = xlwt.Alignment.HORZ_CENTER

alignment.vert = xlwt.Alignment.VERT_CENTER

return alignment

#设置单元格背景颜色

def pattern():

pattern= xlwt.Pattern() #创建pattern_yellow

pattern.pattern = xlwt.Pattern.SOLID_PATTERN #设置填充模式为全部填充

pattern.pattern_fore_colour = 5 #设置填充颜色为yellow黄色

return pattern

#设置单元格边框

def border(leftcolour=0x10 ,rightcolour=0x20,topcolour=0x30,bottomcolour=0x40):

doc='''设置左边框的类型为虚线 May be: NO_LINE, THIN, MEDIUM, DASHED, DOTTED,

THICK, DOUBLE, HAIR, MEDIUM_DASHED, THIN_DASH_DOTTED,

MEDIUM_DASH_DOTTED, THIN_DASH_DOT_DOTTED,

MEDIUM_DASH_DOT_DOTTED, SLANTED_MEDIUM_DASH_DOTTED,

or 0x00 through 0x0D.'''

border = xlwt.Borders() #创建borders

border.left = xlwt.Borders.NO_LINE

border.right = xlwt.Borders.NO_LINE #设置右边框的类型为细线

border.top = xlwt.Borders.NO_LINE #设置上边框的类型为打点的

border.bottom = xlwt.Borders.NO_LINE #设置底部边框类型为粗线

border.left_colour = leftcolour #设置左边框线条颜色

border.right_colour = rightcolour

border.top_colour = topcolour

border.bottom_colour = bottomcolour

return border

style.font = font() #将创建的font字体格式应用到style上

style.alignment = aligment() #应用alignment到style上

style.pattern = pattern() #把设置的pattern应用到style上

style.borders = border()

sheet1.write(0,0,'some text',style)

sheet1.write_merge(1,1+2,3,3+2,"sum",style)

f.save('test1.xls')

#write_merge(x, x + h, y, w + y, string, sytle)

#x表示行,y表示列,

# w表示跨列个数,h表示跨行个数,

# string表示要写入的单元格内容,style表示单元格样式。

#注意,x,y,w,h,都是以0开始计算的。

# insert_bitmap(img, x, y, x1, y1, scale_x=0.8, scale_y=1)

# img表示要插入的图像地址,

# x表示行

# y表示列

# x1表示相对原来位置向下偏移的像素

# y1表示相对原来位置向右偏移的像素

# scale_x表示相对原图宽的比例

# scale_y表示相对原图高的比例

#xlwt文档说们了只支持24bit的bmp, XlsxWriter支持多点png,jpeg

#sheet1.insert_bitmap(r"E:\python_sample\libs\dsp.bmp", 5, 6, 5, 5, scale_x=0.8, scale_y=1)

2.读xlrd

import xlrd

excel = xlrd.open_workbook("C:\Users\wang\Desktop\wang.xls")

#打开文件并将对象存储到excel中

sheet = excel.sheet_by_index(0) #通过索引读取sheet对象,第一个sheet的索引为"0"

sheet=excel.sheet_by_name(u"sheet1")

row_3 = sheet.row_values(2) #读取第3行的所有数据,并以列表的形式存储到row_3中

col_3 = sheet.col_values(2) #读取第3列的所有数据,并以列表list的形式存储到col_3中

cell_12_7 = sheet.cell_value(11,6) #读取第12行第7列的数据,并存储到cell_12_7中

cell_11_11 = sheet.cell(10,10).value #读取第11行第11列的数据,并存储到cell_11_11中

num_rows = sheet.nrows #读取sheet的总行数

num_cols = sheet.ncols #读取sheet的总列数

print row_3

print col_3

print cell_12_7

print num_rows

print num_cols

3.改xlutils

#-*- coding:utf-8 -*- #设置当前编码格式为utf-8

import xlwt #导入xlwt模块

import xlrd #导入xlrd模块

from xlutils.copy import copy

#导入import模块的copy函数,接下来就可以直接使用函数copy了。

fileName = r"C:\Users\wang\Desktop\36.xls"

sheetName = "sheet1"

styleBoldRed = xlwt.easyxf('font: color-index red, bold on')

#设置字体,颜色为红色,加粗

oldWb = xlrd.open_workbook(fileName, formatting_info=True)

#使用xlrd.open_workbook函数打开文件,formatting_info=True表示保留该文件的格式

newWb = copy(oldWb)

#通过copy函数把oldWb copy到newWb,然后通过编辑newWb来实现编辑已经存在的文件。

newWs = newWb.get_sheet(0)

#读取第一个sheet

newWs.write(4, 0, "value1",styleBoldRed)

#第5行第1列写入值“value1”,格式采用styleBoldRed。

newWs.write(4, 1, "value2",styleBoldRed)

#第5行第2列写入值“value2”

newWs.write(4, 2, "value3",styleBoldRed)

#第5行第3列写入值“value3”

newWb.save(fileName) #文件保存为"E:\\4.xls"

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。