python读取数据库表数据并写入excel

一个简单的使用python读取mysql数据并写入excel中实例

1、python连接mysql数据库

conn = pymysql.connect(user=‘root‘,host=‘127.0.0.1‘,port=3306,passwd=‘root‘,db=‘python‘,charset=‘utf8‘) #连接数据库

cur = conn.cursor()

2、读取mysql数据库中表数据 

1 sql = ‘select * from %s;‘ %table_name #需要写入excel表数据
2 #读取数据
3 cur.execute(sql) #读取数据
4 fileds = [filed[0] for filed in cur.description] #读取表结构定义
5 all_date = cur.fetchall() #所有数据
6 for result in all_date:
7      print(result)
8     

3、数据写入excel

  

 1     book = xlwt.Workbook() #创建一个book
 2
 3     sheet = book.add_sheet(‘result‘) #创建一个sheet表
 4
 5     for col,filed in enumerate(fileds):
 6         sheet.write(0,col,filed)  #将表字段描述写入excel第一行
 7
 8     #从第一行开始写
 9
10     row = 1
11     for data in all_date:
12         for col,filed in enumerate(data):
13             sheet.write(row,col,filed)#将数据写入excel单元格中
14         row += 1

4、保存excel

  book.save(‘%s.xls‘ %table_name)

5、完整代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
‘‘‘
 @Time : 2020/1/1 18:08
 @Author : Jason.Jia
 @contact: [email protected]
 @Version : 1.0
 @file :mysql_write_excel.py
 @desc :
 从mysql读取数据,写入excel中
‘‘‘

import pymysql,xlwt

def export_excel(table_name):
    conn = pymysql.connect(user=‘root‘,host=‘127.0.0.1‘,port=3306,passwd=‘root‘,db=‘python‘,charset=‘utf8‘)
    cur = conn.cursor()

    sql = ‘select * from %s;‘ %table_name

    #读取数据
    cur.execute(sql)
    fileds = [filed[0] for filed in cur.description]
    all_date = cur.fetchall() #所有数据
    for result in all_date:
        print(result)

    #写excel

    book = xlwt.Workbook() #创建一个book

    sheet = book.add_sheet(‘result‘) #创建一个sheet表

    for col,filed in enumerate(fileds):
        sheet.write(0,col,filed)

    #从第一行开始写

    row = 1
    for data in all_date:
        for col,filed in enumerate(data):
            sheet.write(row,col,filed)
        row += 1

    book.save(‘%s.xls‘ %table_name)

if __name__ == ‘__main__‘:
    export_excel(‘stocks‘)

原文地址:https://www.cnblogs.com/jiajunplyh/p/12150433.html

时间: 2024-10-10 04:13:45

python读取数据库表数据并写入excel的相关文章

如何数据库表数据导出到excel中

1.首先须要有一个NPOI 2.接下来上代码 1 private void button1_Click(object sender, EventArgs e) 2 { 3 //1.通过Ado.net读取数据 4 string sql = "SELECT * FROM ASRS_F1"; 5 using (SqlDataReader reader = SqlHelper.ExecuteReader(sql, CommandType.Text)) 6 { 7 //如果读到数据 8 if (

Python 读取MySQL数据库表数据

环境 Python 3.6 ,Window 64bit 目的 从MySQL数据库读取目标表数据,并处理 代码 # -*- coding: utf-8 -*- import pandas as pd import pymysql ## 加上字符集参数,防止中文乱码 dbconn=pymysql.connect( host="**********", database="kimbo", user="kimbo_test", password=&quo

python读取数据库数据,读取出的中文乱码问题

最近遇到python读取数据库数据,读取出的中文乱码问题, 网络搜索的基本是: "1. Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8)2. MySQL数据库charset=utf-83. Python连接MySQL是加上参数 charset=utf84. 设置Python的默认编码为 utf-8 (sys.setdefaultencoding(utf-8)" 这些,一一尝试后仍未解决.去数据库查看了下,发现这个出现中文乱码的字段类型是varcha

python查询数据库返回数据

python查询数据库返回数据主要运用到flask框架,pymysql 和 json‘插件’ #!/usr/bin/python # -*- coding: UTF-8 -*- import pymysql import flask,json server=flask.Flask(__name__) @server.route('/index',methods=['get','post']) def create(): db = pymysql.connect("localhost",

ACCESS(VBA)上的一个小项目 —— 2、读取ACCESS表数据到TreeView和ListView

有人问我能不能做一个程序的时候,我第一反应都说“能”. --这次在ACCESS中,借助TreeView和ListView做了一个数据联动的模型. 简析过程: 1)从网上找了一份TreeView学习教程<三小时学会树控件>,了解了TreeView的建立以及节点的使用方法: 2)把数据表中的某列按一定规则生成的数据再按一种规则解析成TreeView中的树结构(VPPS): 3)通过遍历TreeView中节点的折叠状态,通过上述一定规则生成的数据(唯一性)把数据表中的内容读取到ListView中:

python 读取数据库,老是报错。

在8.04.4环境下(其实我觉得跟环境无关,是我语句有问题): $ dpkg -l | grep -i python ii  libapache2-mod-python                 3.3.1-2build1               Apache 2 module that embeds Python within th ii  moinmoin-common                       1.5.8-5.1ubuntu2.5          Python

将数据库的数据导出到excel中

这篇文章主要介绍了asp中把数据导出为excel的2种方法:分别用excel组件.文件组件实现,需要的朋友可以参考下.我们在做项目的时候经常要将数据库的数据导出到excel中,很多asp用户并不知道怎么写.这里总结了两种方法来导出excel,希望能帮到大家. 方法一:用excel组件 方法二:使用文件组件 可以看出,第一种方法是直接导出的是excel文件,而第二张方法是到处的是文本文件,只不过后缀名改成了xls. 然后看起来就是excel了. 经过对比第一种方法的效率没有第二种方法的效率高,而且

(转)java读取数据库表信息,子段

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.List; /*** * 2014-07-21日: * oracle数据

读取数据库表判断有没有某个字段

$result= $this->db->query("select * from `qx` where 1 limit 0,1")->result_array(); 读取数据库表判断有没有某个字段,有的话就执行update,没有的话就insert. [ where 1 表示条件成立,后面不跟其他条件,这里有与没有是一样的.limit 1直取一条 ] 先用一个sql语句,查出这个表所有字段,用一个数组来装起来. 然后根据 字段和字段的比较,判断是更新或者insert.