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')
    复制代码
  • 相关阅读:
    32位IP地址
    我们必须知道,我们终将知道。
    【Java 小白菜入门笔记 2.1】面向对象相关
    【Java 小白菜入门笔记 1.3】流程控制、数组和输入输出
    【Java 小白菜入门笔记 1.2】运算符、方法和语句
    【Java 小白菜入门笔记 1.1】常量和变量
    【论文笔记】PyTorch-BigGraph: A Large-scale Graph Embedding Framework(大规模图嵌入)
    【Java 小白菜入门笔记 1.0】简介与HelloWorld
    【NLP模型笔记】GloVe模型简介
    Python中的defaultdict函数
  • 原文地址:https://www.cnblogs.com/qianjinyan/p/12339817.html
Copyright © 2011-2022 走看看