Python对Excel的读写主要有xlrd、xlwt、xlutils、openpyxl、xlsxwriter几种。

如下分别利用xlwt和openpyxl将mysql数据库中查询的数据保存到excel中(注意:xlwt不支持.xlsx文件):

一、从mysql查询数据

import mysql.connector

conn=mysql.connector.connect(host='xx.xx.xx.xx',user='root', passwd='password', db='test')
cursor = conn.cursor()
sql = 'select * from table1 limit 5'
cursor.execute(sql)
datas=cursor.fetchall()
conn.commit()
cursor.close()
conn.close()
print(datas)

二、分别利用xlwt和openpyxl将datas数据保存到excel

1、xlwt写入数据示例代码

import xlwt

def set_style(name, height, bold = False):
style = xlwt.XFStyle() #初始化样式 font = xlwt.Font() #为样式创建字体
font.name = name
font.bold = bold
font.color_index = 4
font.height = height style.font = font
return style def write_excel(datas,filename):
#创建工作簿
workbook = xlwt.Workbook(encoding='utf-8')
#创建sheet
data_sheet = workbook.add_sheet('demo')
row0 = [u'地市', u'country', '时间', '温度','湿度','雨量','风速']
for i in range(len(row0)):
data_sheet.write(0, i, row0[i], set_style('Times New Roman', 220, True))
nrows=len(datas)
for i in range(nrows):
for j in range(len(row0)):
data_sheet.write(i+1,j,datas[i][j])
# 工作簿保存到磁盘
workbook.save(filename)

2、openpyxl写入数据示例代码

from openpyxl.workbook import Workbook
from openpyxl.utils import get_column_letter
from openpyxl.styles import Font def write_excel_openpyxl1(datas,filename):
# 在内存创建一个工作簿obj
wb = Workbook()
# 将workbook obj写到excel文件
# ew = ExcelWriter(workbook=wb)
ew=wb.active
# 设定第一个sheet页,好像第一个sheet只能这样设定
ws = wb.worksheets[0]
ws.title=u'天气'
# 向第一个sheet页写数据吧
i = 1
for line in datas:
for col in range(1,len(line)+1):
ColNum = get_column_letter(col)
ws.cell('%s%s'%(ColNum,i)).value = line[col-1]
i += 1
# 工作簿保存到磁盘
wb.save(filename) def write_excel_openpyxl(datas,filename):
# 在内存创建一个工作簿obj
result_wb = Workbook()
#第一个sheet是ws
ws1 = result_wb.worksheets[0]
# ws1=wb1.create_sheet('result',0)
#设置ws的名称
ws1.title = "天气"
row0 = [u'地市', u'country', '时间', '温度','湿度','雨量','风速']
ft = Font(name='Arial', size=11, bold=True)
for k in range(len(row0)):
ws1.cell(row=1,column=k+1).value=row0[k]
ws1.cell(row=1,column=k+1).font=ft
for i in range(1,len(datas)+1):
for j in range(1,len(row0)+1):
# col=get_column_letter(j)
# ws1.cell('%s%s'%(col,i)).value='%s' % (data[j-1])
ws1.cell(row=i+1,column=j).value=datas[i-1][j-1]
# 工作簿保存到磁盘
result_wb.save(filename = filename)

三、调用函数

write_excel_openpyxl(datas,'result.xlsx')
write_excel_openpyxl1(datas,'result1.xlsx')
write_excel(datas,'result2.xls')

结果保存到.xlsx和.xls文件中,完成!

利用python将mysql中的数据导入excel的更多相关文章

  1. python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图

    python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图 # coding=utf-8 from openpyxl import load_workbook ...

  2. python将oracle中的数据导入到mysql中。

    一.导入表结构.使用工具:navicate premium 和PowerDesinger 1. 先用navicate premium把oracle中的数据库导出为oracle脚本. 2. 在Power ...

  3. ASP.NET中数据库数据导入Excel并打印(2)

    大家可能觉得上面的代码比较复杂,因为上面对于对打印要求比较高的应用,是十分有效的.如果只是单单对数据进行导出,还可以使用简单的格式,比如使用以下的代码:      Private Sub Page_L ...

  4. 在java中实现数据导入excel表格中

    1.首先前端代码如下: 一个导出按钮:<input id="export" class="btn btn-primary" type="butt ...

  5. python从sqlite中提取数据到excel

    import sqlite3 as sqlite from xlwt import * import sys def sqlite_get_col_names(cur, select_sql): cu ...

  6. Sqoop(三)将关系型数据库中的数据导入到HDFS(包括hive,hbase中)

    一.说明: 将关系型数据库中的数据导入到 HDFS(包括 Hive, HBase) 中,如果导入的是 Hive,那么当 Hive 中没有对应表时,则自动创建. 二.操作 1.创建一张跟mysql中的i ...

  7. [Asp.net]常见数据导入Excel,Excel数据导入数据库解决方案,总有一款适合你!

    引言 项目中常用到将数据导入Excel,将Excel中的数据导入数据库的功能,曾经也查找过相关的内容,将曾经用过的方案总结一下. 方案一 NPOI NPOI 是 POI 项目的 .NET 版本.POI ...

  8. C#Winfrom Listview数据导入Excel

    需引用 public void ExportToExecl() { System.Windows.Forms.SaveFileDialog sfd = new SaveFileDialog(); sf ...

  9. 使用Python将Excel中的数据导入到MySQL

    使用Python将Excel中的数据导入到MySQL 工具 Python 2.7 xlrd MySQLdb 安装 Python 对于不同的系统安装方式不同,Windows平台有exe安装包,Ubunt ...

随机推荐

  1. 博弈论(Game Theory) - 03 - 前传之最大最小均衡

    博弈论(Game Theory) - 03 - 前传之最大最小均衡 开始 最大最小均衡是由人冯·诺依曼和摩根斯坦提出.冯·诺依曼和摩根斯坦也被认为是博弈论的创始人. 冯·诺依曼提出的"最大最 ...

  2. 从源码来理解slf4j的绑定,以及logback对配置文件的加载

    项目中的日志系统使用的是slf4j + logback.slf4j作为一个简单日志门面,为各种loging APIs(像java.util.logging, logback, log4j)提供一个简单 ...

  3. 为Play初学者准备的Scala基础知识

    1 前言 本文的主要目的是为了让Play Framework的初学者快速了解Scala语言,算是一篇Play Framework的入门前传吧.使用PlayFramework可以极大的提高开发效率,但是 ...

  4. 关于cgi、FastCGI、php-fpm、php-cgi

    搞了好长时间的php了,突然有种想法,想把这些整理在一起,于是查看各种资料,找到一片解释的很不错的文章,分享一下-- 首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式 ...

  5. 销量预测和用户行为的分析--基于ERP的交易数据

    写在前面: 这段时间一直都在看一些机器学习方面的内容,其中又花了不少时间在推荐系统这块,然后自己做了一套简单的推荐系统,但是跑下来的结果总觉得有些差强人意,我在离线实验中得到Precision,Rec ...

  6. Java源码学习 -- java.lang.String

    java.lang.String是使用频率非常高的类.要想更好的使用java.lang.String类,了解其源代码实现是非常有必要的.由java.lang.String,自然联想到java.lang ...

  7. CoreOS, Kubernetes, etcd

    CoreOS CoreOS Container Linux is the leading container operating system, designed to be managed and ...

  8. .NET中webservice如何使用,调用

    webservice 只是"面向服务"编程的一种方式,现在把所有的方式都合在一起,就叫做WCF,,,,,, 1.创建 webservice服务,在web项目中添加"web ...

  9. 【LR11】Error -27796: Failed to connect to server"server:port": [10060] Connection timed out错误解决办法

      场景描述:被测系统是发布在远程服务器上的,假设IP是10.10.10.10,端口是8066,那么访问地址是http://10.10.10.10:8066/,在control机器上我设置了IP欺骗. ...

  10. (数字IC)低功耗设计入门(四)——RTL级低功耗设计

    二.RTL级低功耗设计 前面介绍了系统级的低功耗设计,换句话说就是在系统级降低功耗可以考虑的方面.系统级的低功耗设计,主要是由系统级设计.具有丰富经验的人员实现,虽然还轮不到我们设计,我们了解一下还是 ...