zoukankan      html  css  js  c++  java
  • 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')
  • 相关阅读:
    Navicat 导出sql问题
    2017,我的第一次年终总结
    dev treelist和searchcontrol组合模糊查询用法
    构造函数详解
    Devexpress常见问题
    Devexpress 常用的功能
    dev Gridcontrol控件属性部分
    记录DEV gridview获取行列数据方法
    string类的几种方法
    plsql中的procedure和function编程
  • 原文地址:https://www.cnblogs.com/jessicaxu/p/7847046.html
Copyright © 2011-2022 走看看