数据库内容到EXCEL

简介:

 继Python将数据库数据导入到EXCEL章之后,这次来一个推进版,将其编写为函数,接着是class。哈哈。

     问过群里的朋友,他们大多采用工具将数据导入到excel,本人以前是用select ... into outfile 导出为csv格式,但是这样的数据是没有列标题的,每次手动添加。后来用过sqlyog 这个工具也没有列标题。后来改用Navicat,觉得以后可以过安稳日子啦,有一次新项目上线,运营要“全部”数据(真不知道他们怎么想的),用navicat 试了一次,慢的要死。还经常无故终止,真是恶心死我啦。

     对于导出“全部”数据,简单高效点。我决定用Python解析一次。中心思想是:用Python MySQLdb 模块 从Information_schema中得出数据内容的列标题,利用xlwt模块创建excel文件,并写入数据。下面贴出代码,欢迎各位拍砖:

#!/usr/bin/env python
import sys
import MySQLdb
import xlwt
db=sys.argv[1]
table=sys.argv[2]
def xls(sql='select * from %s.%s'):
    #xls info
    wbk=xlwt.Workbook()
    sheet=wbk.add_sheet('sheet 1')
    #connect Info
    try:
        conn=MySQLdb.connect(host='127.0.0.1',user='root',passwd='XXXXX')
        cursor=conn.cursor()
        cursor.execute('use information_schema')
        cursor.execute('select COLUMN_NAME  from COLUMNS where TABLE_NAME=%s and TABLE_SCHEMA=%s',(table,db))
        columnName=cursor.fetchall()
        columnLen=len(columnName)
        columnNum=0
        for data in range(columnLen):
                sheet.write(0,columnNum,columnName[columnNum][0])
                columnNum +=1
        cursor.execute(sql % (db,table))
        dataInfo=cursor.fetchall()
        rowLine=0
        for line in range(len(dataInfo)):
                lineInfo=dataInfo[line]
                rowLine+=1
                columnLine=0
                for row in lineInfo:
                        sheet.write(rowLine,columnLine,row)
                        columnLine+=1
        wbk.save('%s.xls' % table)
        cusor.close()
        conn.commit()
        conn.close()
    finally :
        conn.close()
        sys.exit(1)
if __name__=='__main__':
        xls()




本文转自 位鹏飞 51CTO博客,原文链接:http://blog.51cto.com/weipengfei/1008294,如需转载请自行联系原作者
目录
相关文章
|
5月前
|
Java 数据库
SpringBoot定时将数据库表生成Excel表格
SpringBoot定时将数据库表生成Excel表格
79 0
|
5月前
|
关系型数据库 MySQL 数据库连接
python查询数据库的某个表,将结果导出Excel
python查询数据库的某个表,将结果导出Excel
114 0
|
12月前
|
SQL 关系型数据库 数据库
RDS入门——Excel文件转存到RDS数据库实践
本实验将帮助您快速掌握RDS产品的实例开通,熟悉RDS产品的常用功能与基础操作,完成云上数据库搭建。
|
5月前
|
存储 JSON 关系型数据库
Pandas载入txt、csv、Excel、JSON、数据库文件讲解及实战(超详细 附源码)
Pandas载入txt、csv、Excel、JSON、数据库文件讲解及实战(超详细 附源码)
115 0
|
4月前
|
SQL 存储 数据库
excel导入sql数据库
将Excel数据导入SQL数据库是一个相对常见的任务,可以通过多种方法来实现。以下是一些常用的方法: ### 使用SQL Server Management Studio (SSMS) 1
|
4月前
|
SQL 存储 数据可视化
excel表格sql数据库
Excel表格和SQL数据库是两种不同的数据管理工具,它们各自有自己的特点和用途。下面我将分别介绍它们,并探讨它们之间的关系和互操作性。 一、Excel表格 Excel是微软公司推出的一款
|
5月前
|
easyexcel 数据库
【EasyExcel】第一篇:动态导入excel,生成对应数据库表
【EasyExcel】第一篇:动态导入excel,生成对应数据库表
|
5月前
|
数据库
如何把Excel导入到数据库中
如何把Excel导入到数据库中
38 0
|
5月前
|
安全 Java 数据库连接
jdbc实现批量给多个表中更新数据(解析Excel表数据插入到数据库中)
jdbc实现批量给多个表中更新数据(解析Excel表数据插入到数据库中)
|
5月前
|
存储 关系型数据库 MySQL
Python导入Excel数据到MySQL数据库
Python导入Excel数据到MySQL数据库
359 1
下一篇
无影云桌面