zoukankan      html  css  js  c++  java
  • python操作excel

    如果安装了多个版本的python,在线安装第三方模块时,需要指定版本。例如:python3 -m pip install xlutils

    一、读excel,用到xlrd模块

    import xlrd
    book = xlrd.open_workbook('app_student.xls')
    sheet = book.sheet_by_index(0)#根据excel索引读取excel  , book.sheet_by_name('sheet1')通过name读取excel
    print(sheet.cell(0,0).value)  #指定sheet页里面行和列获取数据
    
    print(sheet.row_values(0))  #获取到第几行内容
    print(sheet.row_values(1))
    print(sheet.nrows)#获取到excel里面总共多少行
    for i in range(sheet.nrows):  #循环获取每行数据
        print(sheet.row_values(i))
    
    print(sheet.ncols)  #获取excel里面总共多少列
    print(sheet.col_values(1)) #取第几列数据

    二、写excel,用到xlwt模块

    import pymysql,xlwt
    def export_excel(table_name):
        coon=pymysql.connect(
            host='118.24.3.40',user='jxz',passwd='123456',
            port=3306,db='jxz',charset='utf8'
            #port必须写int类型
            #charset必须写utf8
        )#建立数据库连接字典
        cur=coon.cursor()#(cursor=pymysql.cursors.DictCursor)#建立游标,DictCursor返回字典
        sql="select * from %s;"%table_name     #占位符来表示查询条件筛选
        cur.execute(sql)
        # cur.execute('insert into stu(id,name,sex) VALUE (1223,"焦哥","男");')
        # cur.execute('insert into stu (id,name,sex) VALUE (1,"牛","女");')
        fileds=[filed[0] for filed in cur.description] #读取表头存在fileds列表里
        # print(cur.description)
        # for filed in cur.description:
        #     print(filed)
        # print(fileds)
        all_data=cur.fetchall()  #获取数据库里所有的数据
        book=xlwt.Workbook()
        sheet=book.add_sheet("sheet1")
        for col,filed in enumerate(fileds):  #通过k,v方式直接把表头循环写入到表格
            sheet.write(0,col,filed)
        row=1
        for data in all_data:  #循环每行数据
            # print(data)
            for col,filed in enumerate(data):  #每行数据以k,v方式循环写入表格
                # print(col,filed)
                sheet.write(row,col,filed)
            row+=1       #写完一行后,行数+1继续写入下一行数据
        book.save("%s.xls"%table_name)
    export_excel("app_student")

    三、修改excel,用到xlrd,xlutils模块

    import xlrd
    from xlutils import copy
    book=xlrd.open_workbook('app_student.xls')#先用xlrd模块,打开一个excel
    new_book=copy.copy(book) #通过xlutils这个模块里面的copy方法,复制一份excel
    
    sheet = new_book.get_sheet(0) #获取sheet页,用的是xlutils里面的方法,xlrd的方法是book.sheet_by_index(0)
    lis =['编号','名字','性别','年龄','地址','班级','手机号','金币']
    for col,file in enumerate(lis): #把lis列表内容写入到表格
        sheet.write(0,col,file)
    sheet.write(0,0,'编号')  #修改每个单元格的内容
    sheet.write(0,1,'名字')
    new_book.save('app_student.xls')#保存必须用xls,如果用xlsx的话微软是打不开,wps才可以打开
  • 相关阅读:
    [转载]VC补遗之Profile篇
    [原创]百度之星2009初赛第二场第四题解答
    [总结]QT在CODE:BLOCKS中的配置
    [原创]自己写的一个简单的程序日志记录类
    [原创]QT动态加载UI文件注意事项
    window版本信息资源格式
    [原创]滚动条滚动范围的问题总结
    ofstream奇怪问题解决方法
    [转载]最小矩形(rec1)的解题报告
    oracle数据库用户之间授权
  • 原文地址:https://www.cnblogs.com/xiaojing2017/p/9039944.html
Copyright © 2011-2022 走看看