python操作Excel方法汇总(一)

1.利用xlrd模块读取

xlrd模块可以读取(.xls)或者(.xlsx)文件中的内容,以下是基本使用介绍:
我们提前在文件夹中建好了文件:data1.xls,其中内容如下图:
在这里插入图片描述
导入库:

import xlrd

打开文件:

data = xlrd.open_workbook('data1.xls')#文件名或路径名,若含有中文需要加r

获取一个工作表:

table = data.sheet_by_name('mysheet1')
'''
获取工作表的方式除了上述通过名称获取的方式外,还有以下两种:
table = data.sheets()[0]
table = data.sheet_by_index(sheet_indx)
'''

获取一个工作表后,可以对其中的行、列或单元格进行操作,如下:
对行的操作:

nrows = table.nrows#获取该表中的行数
table.row(i)#获取第i行所有单元格对象组成的列表
table.row_values(i,start_colx=0,end_colx=None)#获取第i行所有单元格的数据组成的列表
table.row_len(i)#获取第i行有多少个数据

以第0行为例,后三种命令的结果为:
在这里插入图片描述
对列的操作与对行的操作类似,将上述代码中的row替换为col即可
如执行命令:

print(table.col_values(0))

结果为:
在这里插入图片描述

对单元格的操作:

table.cell(rowx,colx)#获取该单元格对象
table.cell_value(rowx,colx)#获取该单元格数据

2.利用xlwt模块写入等操作

xlwt可以用于创建新的.xls表格,或者在原表格基础上写入新的内容

创建新表格并写入

文件夹初始状态:
在这里插入图片描述
执行以下代码:

import xlwt

workbook = xlwt.Workbook(encoding=ascii)#创建文件

worksheet = workbook.add_sheet('my new sheet')#创建工作表,输入sheet名称

for i in range(10):
    for j in range(10):
        worksheet.write(i,j,i+j)#写入内容,输入行号、列号、单元格内容

workbook.save('data2.xls')#保存

文件夹状态:
在这里插入图片描述
可以看到data2.xls已经存入,我们将其打开后如图:
在这里插入图片描述
即成功写入内容

更改字体格式

执行以下代码

worksheet.write(0,0,'字体示例1')

style = xlwt.XFStyle()#初始化
font = xlwt.Font()
font.name = '黑体'#字体
font.bold = True#加粗
font.underline = True#下划线
font.italic = True#斜体
style.font = font#应用

worksheet.write(1,1,'字体示例2',style)

结果如图:
在这里插入图片描述
对比默认字体格式可知,示例2应用了自定义字体。

更改单元格格式

对单元格格式的更改主要是设置列宽、行高、边框、填充以及合并单元格
设初始命令为:

worksheet.write(10,10,'00000000000')

结果为:
在这里插入图片描述
下面进行各种单元格格式改变:

#更改列宽:
worksheet.col(10).width = 256*20

#更改行高:
style = xlwt.easyxf('font:height 360;')# 18pt,类型小初的字号
row = worksheet.row(10)
row.set_style(style)

#设置边框:
borders = xlwt.Borders()
'''
边框样式:
DASHED 虚线
NO_LINE 没有
THIN 细实线
THICK 粗实线
……
'''
borders.left = xlwt.Borders.DASHED
borders.right = xlwt.Borders.DASHED
borders.top = xlwt.Borders.THIN
borders.bottom = xlwt.Borders.THICK
  
style = xlwt.XFStyle()  
style.borders = borders
worksheet.write(5,5,'边框',style)

#设置填充色:
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = 2
'''
颜色对应数字:
0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow,
6 = Magenta, 7 = Cyan, 16 = Maroon, 17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow ,
almost brown), 20 = Dark Magenta, 21 = Teal, 22 = Light Gray, 23 = Dark Gray
'''
style = xlwt.XFStyle()
style.pattern = pattern
worksheet.write(3,3,'填充',style)

#合并单元格:
worksheet.write_merge(6,7,7,9,'合并单元格')#合并6-7行,7-9列

#单元格对齐方式:
al = xlwt.Alignment()
al.horz = 0x02  # 设置水平居中
al.vert = 0x01  # 设置垂直居中
'''
可用对齐方式:
VERT_TOP = 0x00       上端对齐(垂直方向上)
VERT_CENTER = 0x01    居中对齐(垂直方向上)
VERT_BOTTOM = 0x02    低端对齐(垂直方向上)
HORZ_LEFT = 0x01      左端对齐(水平方向上)
HORZ_CENTER = 0x02    居中对齐(水平方向上)
HORZ_RIGHT = 0x03     右端对齐(水平方向上)
'''
style = xlwt.XFStyle()
style.alignment = al
worksheet.write(2,1, "对齐方式",style)

结果:
在这里插入图片描述

综上,运用xlrd、xlwt两个模块即可完成对excel的基本读写操作。

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值