• Python-操作Excel


    一、Excel模块:xlrd(读)、xlwt(写)、xlutils(结合读写可修改excel)

    1、从mysql中读取数据

    复制代码
    import xlrd,xlwt,xlutils
    import pymysql
    
    
    def sql_connect(sql):
        conn = pymysql.connect(host='127.0.0.1',port=3306, user='root', password='123456',db='sql_python',charset='utf8')
        cur = conn.cursor()
        cur.execute(sql)
        data = cur.fetchall()
        cur.close()
        conn.close()
        return data
    复制代码

    2、从mysql中读取数据写入excel中

    复制代码
    #写数据
    def write_excel(filename, data):
        book = xlwt.Workbook()            #创建excel对象
        sheet = book.add_sheet('sheet1')  #添加一个表
        c = 0  #保存当前列
        for d in data: #取出data中的每一个元组存到表格的每一行
            for index in range(len(d)):   #将每一个元组中的每一个单元存到每一列
                sheet.write(c,index,d[index])
            c += 1
        book.save(filename) #保存excel
    
    
    sql = 'select * from stu'
    res = sql_connect(sql)
    write_excel('firstsheet.xls', res)
    复制代码

    3、从excel中读取数据

    复制代码
    #读数据
    def read_excel(filename):
        book = xlrd.open_workbook(filename)
        sheet = book.sheet_by_name('sheet1')
        rows = sheet.nrows #获取行数
        cols = sheet.ncols #获取列数
        for c in range(cols): #读取每一列的数据
            c_values = sheet.col_values(c)
            print(c_values)
        for r in range(rows): #读取每一行的数据
            r_values = sheet.row_values(r)
            print(r_values)
        print(sheet.cell(1,1)) #读取指定单元格的数据
    
    read_excel('firstsheet.xls')
    复制代码

    4、从excel读取数据写入mysql

    复制代码
    #从excel读取数据写入mysql
    def excel_to_mysql(filename):
        conn = pymysql.connect(host='127.0.0.1', port=3306, user='jessica', password='123456', db='sql_python',charset='utf8')
        cur = conn.cursor()     #连接数据库
        book = xlrd.open_workbook(filename)
        sheet = book.sheet_by_name('sheet1')
        rows = sheet.nrows      #获取行数
        for r in range(1,rows): #将标题之外的其他行写入数据库
            r_values = sheet.row_values(r)
            sql = 'insert into stu2 values(%s,%s)'
            data = cur.execute(sql,r_values)  #将每一行插入sql
        conn.commit()           #插入所有数据后提交
        cur.close()
        conn.close()
    
    excel_to_mysql('firstsheet.xls')
    复制代码

    5、修改excel

    复制代码
    from xlutils.copy import copy
    
    def modify_excel(filename):
        book = xlrd.open_workbook(filename)  # 打开excel
        new_book = copy(book)  # 复制excel
        sheet = new_book.get_sheet(0)  # 获取第一个表格的数据
        sheet.write(0, 1, 'Haha')  # 修改0行1列的数据为'Haha'
        new_book.save('secondsheet.xls')  # 保存新的excel
        os.remove(filename)  # 删除旧的excel
        os.rename('secondsheet.xls', filename)  # 将新excel重命名
    
    
    modify_excel('firstsheet.xls')
    复制代码
  • 相关阅读:
    博客收藏
    日常开发工具收藏
    2016工作总结
    REST设计规则
    spring boot 学习笔记(二) 构建web支持jsp
    数据库事务中的隔离级别和锁+spring Transactional注解
    springboot学习笔记(一)
    Python爬虫实例(四)网站模拟登陆
    Python爬虫实例(三)代理的使用
    Python爬虫实例(二)使用selenium抓取斗鱼直播平台数据
  • 原文地址:https://www.cnblogs.com/qianjinyan/p/12339817.html
Copyright © 2020-2023  润新知