ITPub博客

首页 > 应用开发 > Python > Python操作Excel

Python操作Excel

原创 Python 作者:lhrbest 时间:2019-01-09 16:17:30 0 删除 编辑



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


基本代码:

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


代码2:

import  xlwt
def set_style(name,height,bold=False):
    style = xlwt.XFStyle()  # 初始化样式
    font = xlwt.Font()  # 为样式创建字体
    font.name = name # 'Times New Roman'
    font.bold = bold
    font.color_index = 4
    font.height = height
    # borders= xlwt.Borders()
    # borders.left= 6
    # borders.right= 6
    # borders.top= 6
    # borders.bottom= 6
    style.font = font
    # style.borders = borders
    return style
#写excel
def write_excel():
    f = xlwt.Workbook() #创建工作簿
    '''
    创建第一个sheet:
        sheet1
    '''
    sheet1 = f.add_sheet(u'sheet1',cell_overwrite_ok=True) #创建sheet
    row0 = [u'业务',u'状态',u'北京',u'上海',u'广州',u'深圳',u'状态小计',u'合计']
    column0 = [u'机票',u'船票',u'火车票',u'汽车票',u'其它']
    status = [u'预订',u'出票',u'退票',u'业务小计']
    #生成第一行
    for i in range(0,len(row0)):
        sheet1.write(0,i,row0[i],set_style('Times New Roman',220,True))
    #生成第一列和最后一列(合并4行)
    i, j = 1, 0
    while i < 4*len(column0) and j < len(column0):
        sheet1.write_merge(i,i+3,0,0,column0[j],set_style('Arial',220,True)) #第一列
        sheet1.write_merge(i,i+3,7,7) #最后一列"合计"
        i += 4
        j += 1
    sheet1.write_merge(21,21,0,1,u'合计',set_style('Times New Roman',220,True))
    #生成第二列
    i = 0
    while i < 4*len(column0):
        for j in range(0,len(status)):
            sheet1.write(j+i+1,1,status[j])
        i += 4
    f.save('./download/excel_write_merge.xlsx') #保存文件
if __name__ == '__main__':
    #generate_workbook()
    #read_excel()
    write_excel()



  超链接:

import xlwt
book = xlwt.Workbook()
sheet_index = book.add_sheet('index')
line=0
for i in range(9):
    sheet1 = book.add_sheet(str(i))
    sheet1.write(0,0,str(i))
    link = 'HYPERLINK("#%s";"%s")' % (str(i), str(i))
    sheet_index.write(line, 0, xlwt.Formula(link))
    line+=1
book.save('./download/simple2.xls')






About Me

........................................................................................................................

● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除

● 本文在itpub( http://blog.itpub.net/26736162 )、博客园( http://www.cnblogs.com/lhrbest )和个人weixin公众号( xiaomaimiaolhr )上有同步更新

● 本文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/#mid=1564638659405826

........................................................................................................................

● 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/

........................................................................................................................

使用 weixin客户端 扫描下面的二维码来关注小麦苗的weixin公众号( xiaomaimiaolhr )及QQ群(DBA宝典)、添加小麦苗weixin, 学习最实用的数据库技术。

........................................................................................................................

欢迎与我联系

 

 



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

上一篇: Python操作Word
请登录后发表评论 登录
全部评论
QQ:646634621| 网名:小麦苗| 微信公众号:xiaomaimiaolhr| 11g OCM| QQ群:618766405 微信群:私聊| 《数据库笔试面试宝典》作者| OCP、OCM、高可用(RAC+DG+OGG)网络班开讲啦,有需要的小伙伴可以私聊我。

注册时间:2012-09-23

  • 博文量
    1175
  • 访问量
    7153498