python3实现mysql导出excel
Mysql中'employee'表内容如下:

# __Desc__ = 从数据库中导出数据到excel数据表中
import xlwt
import pymysql class MYSQL:
def __init__(self):
pass def __del__(self):
self._cursor.close()
self._connect.close() def connectDB(self):
"""
连接数据库
:return:
"""
try:
self._connect = pymysql.Connect(
host='localhost',
port=3306,
user='root',
passwd='',
db='test',
charset='utf8'
) return 0
except:
return -1 def export(self, table_name, output_path):
self._cursor = self._connect.cursor()
count = self._cursor.execute('select * from '+table_name)
# print(self._cursor.lastrowid)
print(count)
# 重置游标的位置
self._cursor.scroll(0, mode='absolute')
# 搜取所有结果
results = self._cursor.fetchall() # 获取MYSQL里面的数据字段名称
fields = self._cursor.description
workbook = xlwt.Workbook() # 注意: 在add_sheet时, 置参数cell_overwrite_ok=True, 可以覆盖原单元格中数据。
# cell_overwrite_ok默认为False, 覆盖的话, 会抛出异常.
sheet = workbook.add_sheet('table_'+table_name, cell_overwrite_ok=True) # 写上字段信息
for field in range(0, len(fields)):
sheet.write(0, field, fields[field][0]) # 获取并写入数据段信息
row = 1
col = 0
for row in range(1,len(results)+1):
for col in range(0, len(fields)):
sheet.write(row, col, u'%s' % results[row-1][col]) workbook.save(output_path) if __name__ == '__main__':
mysql = MYSQL()
flag = mysql.connectDB()
if flag == -1:
print('数据库连接失败')
else:
print('数据库连接成功')
mysql.export('employee', 'E:/test_input.xls')
执行结果如下:

python3实现mysql导出excel的更多相关文章
- mysql导出excel文件的几种方法
方法一 用mysql的命令和shell select * into outfile './bestlovesky.xls' from bestlovesky where 1 order by id d ...
- MySql 导出excel
select * into outfile './bestlovesky.xls' from bestlovesky where 1 order by id desc limit 0, 50;
- Excel连接到MySQL,将Excel数据导入MySql,MySQL for Excel,,
Excel连接到MySQL 即使当今时代我们拥有了类似微软水晶报表之类的强大报表工具和其他一些灵活的客户管 理应用工具,众多企业在分析诸如销售统计和收入信息的时候,微软的Excel依然是最常用的工具. ...
- MySQL导出数据,并转存到Excel表格中
从数据库中导出数据的方法,这里就不提了,网上有很多方法,如果闲麻烦,可以看一下这个:mysql导出数据 其实使用最简单的下面这个语句: mysql > select * from demo in ...
- mysql导出长数字到excel避免显示为科学记数法 解决方法
经常遇到MYSQL导出长数字或纯数字字符串(如身份证.卡券号.条码.流水号等)到csv或excel文件,用excel打开会显示为科学记数法,甚至后几位转为0.这是由Excel的特性决定的:Excel显 ...
- C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序
C#中缓存的使用 缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可: <%@ Outp ...
- mysql导出csv文件excel打开后数字用科学计数法显示且低位变0的解决方法
Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0. Excel打开csv文件时,只要字段值都是数字,它 ...
- Mysql查询结果导出Excel表
Mysql查询结果导出Excel表: 一句转换方式:$ mysql -uops -p'GCNgH000KP' dtbs -e 'select * from t_proxy__record;' --de ...
- 获取一个表中的字段总数(mysql) Navicat如何导出Excel格式表结构 获取某个库中的一个表中的所有字段和数据类型
如何获取一个表中的字段总数 1.function show columns from 表明: 结果 : 2.functiuon select count(*) from INFORMATION_SCH ...
随机推荐
- [LeetCode&Python] Problem 455. Assign Cookies
Assume you are an awesome parent and want to give your children some cookies. But, you should give e ...
- es6 set&sort
es6提供了新的数据结构Set. 它类似于数组,但是成员的值都是唯一的,没有重复的值. Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化. 1.set去重 首先我们 let 一个数组 ...
- java-BigInteger类
1.BigInteger类的概述和方法使用 * A:BigInteger的概述 * 可以让超过Integer范围内的数据进行运算 * B:构造方法 * public BigInteger(String ...
- Python--subprocess系统命令模块-深入
当我们运行python的时候,我们都是在创建并运行一个进程.正如我们在Linux进程基础中介绍的那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序.在Python中,我们通过标准 ...
- 浅谈log4j-4-不同目的地(转)
public class DifferentAppender { private static Logger logger=Logger.getLogger(DifferentAppender.cla ...
- Python基础( )
一. 文件修改 f = open("yesterday.txt",'r') f1 = open("yesterday2.txt",'w') for line i ...
- spring获取jdbc链接底层原理
获取连接池的连接二种逻辑 1.一个事务中,一个连接 (底层逻辑:threadlocal存储 里面是map: key是数据源,value:链接) map存储应该是为多数据源使用的2.没有事务的serv ...
- Calendar类的使用——闰年的计算
1.Calendar类: 是一个抽象类,需要导入java.util.Calendar包. Calendar c = Calendar.getInstance(); getInstance直接返回的是子 ...
- Scala 方法与函数
Scala 方法与函数:http://www.runoob.com/scala/scala-functions.html Scala 有方法与函数,二者在语义上的区别很小.Scala 方法是类的一部分 ...
- SecureCRT突然卡死的问题
SecureCRT作为著名的SSHclient,经经常使用于登陆远程server. 在上面编辑文本,特别是用vi打开两个文本,而且须要切换时.非常easy出现卡死的现象,不能接受不论什么的键盘输入. ...