Python操作Excel

释放双眼,带上耳机,听听看~!

python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。可从这里下载 https://pypi.python.org/pypi

参考:

https://www.cnblogs.com/zhoujie/p/python18.html

http://www.cnblogs.com/snake-hand/p/3153158.html

https://mp.weixin.qq.com/s?__biz=MzA5ODUzOTA0OQ==&mid=2651689342&idx=1&sn=1bfb56fa205decba1d821a4fec07e024&chksm=8b693238bc1ebb2e9e81bc2a370ae30f05d0ae74740993bc74c815aaacb4d991c2e7055f6e09&mpshare=1&scene=1&srcid=0109Gqxa2RAV5SCs320FQprR&key=9493c90210260ceaf9c2fb19f4aa453c320e75f00aed8b15ab95b938cc87412df051fdbf96788e408b2217ee37d9d3f1db506c48153c7677241f00de45692fd7cd97a354e8c5ec0e916c3e734023dd60&ascene=1&uin=MTk5MDM4ODY5&devicetype=Windows-QQBrowser&version=6103000b&lang=zh_CN&pass_ticket=W3PB9Gy%2F%2Fm0ucX4yyJDfLx4tmJE90pRQ3pBnrbnMvKA%3D

基本代码:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
1
2import xlwt
3# workbook = xlwt.Workbook(encoding='utf-8')#创建workbook 其实就是execl,
4# worksheet = workbook.add_sheet('my_worksheet') #创建表,如果想创建多个,直接在后面再add_sheet
5# worksheet.write(0,0,label ='Row 0,Column 0 Value') #3个参数,第一个参数表示行,从0开始,第二个参数表示列,从0开始,第三个参数表示插入的数值
6# workbook.save('./download/execl_lhr.xlsx')  #写完记得一定要保存
7def set_style(name, height, bold=False):
8    style = xlwt.XFStyle()  # 初始化样式
9    font = xlwt.Font()  # 为样式创建字体
10    font.name = name
11    font.bold = bold
12    font.colour_index = 2
13    font.height = height
14    style.font = font
15    return style
16#写excel
17def write_excel():
18    f = xlwt.Workbook(encoding='gbk')  # 创建工作薄
19    # 创建个人信息表
20    sheet1 = f.add_sheet(u'个人信息', cell_overwrite_ok=True)
21    rowTitle = [u'编号', u'姓名', u'性别', u'年龄']
22    rowDatas = [[u'张一', u'男', u'18'], [u'李二', u'女', u'20'], [u'黄三', u'男', u'38'], [u'刘四', u'男', u'88']]
23    for i in range(0,len(rowTitle)):
24        sheet1.write(0,i,rowTitle[i],set_style('Times New Roman',220,True)) #后面是设置样式
25    for k in range(0,len(rowDatas)):    #先遍历外层的集合,即每行数据
26        rowDatas[k].insert(0,k+1)   #每一行数据插上编号即为每一个人插上编号
27        for j in range(0,len(rowDatas[k])): #再遍历内层集合
28            sheet1.write(k+1,j,rowDatas[k][j])          #写入数据,k+1表示先去掉标题行,另外每一行数据也会变化,j正好表示第一列数据的变化,rowdatas[k][j] 插入数据
29    # 创建个人收入表
30    sheet1 = f.add_sheet(u'个人收入表',cell_overwrite_ok=True)
31    rowTitle2 = [u'编号',u'姓名',u'学历',u'工资']
32    rowDatas2 = [[u'张一',u'本科',u'8000'],[u'李二',u'硕士',u'10000'],[u'黄三',u'博士',u'20000'],[u'刘四',u'教授',u'50000']]
33    for i in range(0,len(rowTitle2)):
34        sheet1.write(0,i,rowTitle2[i])
35    for k in range(0,len(rowDatas2)):    #先遍历外层的集合
36        rowDatas2[k].insert(0,k+1)   #每一行数据插上编号即为每一个人插上编号
37        for j in range(0,len(rowDatas2[k])): #再遍历内层集合
38            sheet1.write(k+1,j,rowDatas2[k][j])  #写入数据,k+1表示先去掉标题行,另外每一行数据也会变化,j正好表示第一列数据的变化,rowdatas[k][j] 插入数据
39    f.save('./download/excel_write_base.xlsx')
40if __name__ == '__main__':
41    #generate_workbook()
42    #read_excel()
43    write_excel()
44
45

代码2:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
1
2import  xlwt
3def set_style(name,height,bold=False):
4    style = xlwt.XFStyle()  # 初始化样式
5    font = xlwt.Font()  # 为样式创建字体
6    font.name = name # 'Times New Roman'
7    font.bold = bold
8    font.color_index = 4
9    font.height = height
10    # borders= xlwt.Borders()
11    # borders.left= 6
12    # borders.right= 6
13    # borders.top= 6
14    # borders.bottom= 6
15    style.font = font
16    # style.borders = borders
17    return style
18#写excel
19def write_excel():
20    f = xlwt.Workbook() #创建工作簿
21    '''
22    创建第一个sheet:
23        sheet1
24    '''
25    sheet1 = f.add_sheet(u'sheet1',cell_overwrite_ok=True) #创建sheet
26    row0 = [u'业务',u'状态',u'北京',u'上海',u'广州',u'深圳',u'状态小计',u'合计']
27    column0 = [u'机票',u'船票',u'火车票',u'汽车票',u'其它']
28    status = [u'预订',u'出票',u'退票',u'业务小计']
29    #生成第一行
30    for i in range(0,len(row0)):
31        sheet1.write(0,i,row0[i],set_style('Times New Roman',220,True))
32    #生成第一列和最后一列(合并4行)
33    i, j = 1, 0
34    while i < 4*len(column0) and j < len(column0):
35        sheet1.write_merge(i,i+3,0,0,column0[j],set_style('Arial',220,True)) #第一列
36        sheet1.write_merge(i,i+3,7,7) #最后一列"合计"
37        i += 4
38        j += 1
39    sheet1.write_merge(21,21,0,1,u'合计',set_style('Times New Roman',220,True))
40    #生成第二列
41    i = 0
42    while i < 4*len(column0):
43        for j in range(0,len(status)):
44            sheet1.write(j+i+1,1,status[j])
45        i += 4
46    f.save('./download/excel_write_merge.xlsx') #保存文件
47if __name__ == '__main__':
48    #generate_workbook()
49    #read_excel()
50    write_excel()
51
52

  超链接:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2import xlwt
3book = xlwt.Workbook()
4sheet_index = book.add_sheet('index')
5line=0
6for i in range(9):
7    sheet1 = book.add_sheet(str(i))
8    sheet1.write(0,0,str(i))
9    link = 'HYPERLINK("#%s";"%s")' % (str(i), str(i))
10    sheet_index.write(line, 0, xlwt.Formula(link))
11    line+=1
12book.save('./download/simple2.xls')
13
14


**About Me **

………………………………………………………………………………………………………… ● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除 ● 本文itpub地址: http://blog.itpub.net/26736162 ● 本文博客园地址: http://www.cnblogs.com/lhrbest ● 本文pdf版、个人简介及小麦苗云盘地址: http://blog.itpub.net/26736162/viewspace-1624453/ ● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/ ● DBA宝典今日头条号地址: http://www.toutiao.com/c/user/6401772890/ ………………………………………………………………………………………………………… ● QQ群号: 230161599 (满) 、618766405 ● weixin群:可加我weixin,我拉大家进群,非诚勿扰 ● 联系我请加QQ好友 ( 646634621 ) ,注明添加缘由 ● 于 2019-01-01 06:00 ~ 2019-01-31 24:00 在魔都完成 ● 最新修改时间:2019-01-01 06:00 ~ 2019-01-31 24:00 ● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解 ● 版权所有,欢迎分享本文,转载请保留出处 ………………………………………………………………………………………………………… ● 小麦苗的微店 : https://weidian.com/s/793741433?wfr=c&ifr=shopdetail ● 小麦苗出版的数据库类丛书 : http://blog.itpub.net/26736162/viewspace-2142121/ ● 小麦苗OCP、OCM、高可用网络班 : http://blog.itpub.net/26736162/viewspace-2148098/ ● 小麦苗腾讯课堂主页 : https://lhr.ke.qq.com/ ………………………………………………………………………………………………………… …………………………………………………………………………………………………………

1
1

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2375265/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26736162/viewspace-2375265/

给TA打赏
共{{data.count}}人
人已打赏
安全技术

c++ list, vector, map, set 区别与用法比较

2022-1-11 12:36:11

安全运维

Redis集群启动脚本

2021-12-11 11:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索