import sqlite3 as sqlite
from xlwt import *
import sys def sqlite_get_col_names(cur, select_sql):
cur.execute(select_sql)
return [tuple[0] for tuple in cur.description] def query_by_sql(cur, select_sql):
cur.execute(select_sql)
return cur.fetchall() def sqlite_to_workbook_with_head(cur, table, select_sql, workbook):
ws = workbook.add_sheet(table)
print('create table %s.' % table)
#enumerate针对一个可迭代对象,生成的是序号加上内容 for colx, heading in enumerate(sqlite_get_col_names(cur, select_sql)):
ws.write(0, colx, heading) #在第1行的colx列写上头部信息 for rowy, row in enumerate(query_by_sql(cur, select_sql)):
for colx, text in enumerate(row): #row是一行的内容
ws.write(rowy + 1, colx, text) #在rowy+1行,colx写入数据库内容text def sqlite_to_workbook_without_head(cur, table, select_sql, workbook):
ws = workbook.add_sheet(table) for rowy, row in enumerate(query_by_sql(cur, select_sql)):
for colx, text in enumerate(row): #row是一行的内容
ws.write(rowy, colx, text) #在rowy行,colx写入数据库内容text def dump_db_to_excel(cur, workbook):
for tbl_name in [row[0] for row in query_by_sql(cur, "select tbl_name FROM sqlite_master where type = 'table'")]:
select_sql = "select * from '%s'" % tbl_name
sqlite_to_workbook_with_head(cur, tbl_name, select_sql, workbook) def main(dbpath):
xlspath = dbpath[:dbpath.rfind('.')] + '.xls'
print("<%s> --> <%s>" % (dbpath, xlspath)) db = sqlite.connect(dbpath)
cur = db.cursor()
w = Workbook() dump_db_to_excel(cur, w) #把所有的db中的表数据导出到excel中,每个table对应一个sheet页 #按照条件查询数据并导出到excel中
#sheet_name = '测试'
#query_data_sql = "select 100-id as used from cpu_info where cpu_name = '%Cpu0'"
#sqlite_to_workbook_without_head(cur, sheet_name, query_data_sql, w) cur.close()
db.close() w.save(xlspath) if __name__ == "__main__":
# arg == database path
main(sys.argv[1])

python从sqlite中提取数据到excel的更多相关文章

  1. Kettle实现从数据库中提取数据到Excel

    因为有个日常提数,工作日每天都要从数据库中提取数据,转换为excel,再以邮件的形式发给用户. 刚好近期同事在研究使用kettle自动提数且完成邮件的发送,觉得很实用又挺有意思的就学了一下这个技能~ ...

  2. 利用python将mysql中的数据导入excel

    Python对Excel的读写主要有xlrd.xlwt.xlutils.openpyxl.xlsxwriter几种. 如下分别利用xlwt和openpyxl将mysql数据库中查询的数据保存到exce ...

  3. Python从json中提取数据

    #json string:s = json.loads('{"name":"test", "type":{"name": ...

  4. 使用Python从PDF文件中提取数据

    前言 数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据.然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都应该了 ...

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

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

  6. [数据科学] 从csv, xls文件中提取数据

    在python语言中,用丰富的函数库来从文件中提取数据,这篇博客讲解怎么从csv, xls文件中得到想要的数据. 点击下载数据文件http://seanlahman.com/files/databas ...

  7. 如何使用JMeter从文件中提取数据

    在性能测试方面,重用响应数据至关重要.几乎(如果不是全部!)负载测试场景假设您: 从先前的响应中提取有趣的方面,并在下一个请求中重用它们(也称为相关) 确保实际响应符合预期(又称断言) 因此,如果您是 ...

  8. 将Oracle数据库中的数据写入Excel

    将Oracle数据库中的数据写入Excel 1.准备工作 Oracle数据库"TBYZB_FIELD_PRESSURE"表中数据如图: Excel模板(201512.xls): 2 ...

  9. C#读取Excel表格数据到DataGridView中和导出DataGridView中的数据到Excel

    其实想在datagridview中显示excel表格中的数据跟读取数据库中的数据没什么差别,只不过是创建数据库连接的时候连接字段稍有差别. private void btnShow_Click(obj ...

随机推荐

  1. C++ 继承体系中的名称覆盖

    首先一个简单的样例: int x; int f() { double x; cin >> x; return x; } 在上述代码中.函数f的局部变量x掩盖了全局变量x.这得从 " ...

  2. Java 集合系列Stack详细介绍(源码解析)和使用示例

    Stack简介 Stack是栈.它的特性是:先进后出(FILO, First In Last Out). java工具包中的Stack是继承于Vector(矢量队列)的,由于Vector是通过数组实现 ...

  3. 详细解读Android中的搜索框(一)—— 简单小例子

    这次开的是一个讲解SearchView的栏目,第一篇主要是给一个小例子,让大家对这个搜索视图有一个了解,之后再分布细化来说. 目标: 我们先来定个目标,我们通过搜索框来输入要搜索的联系人名字,输入的时 ...

  4. 简单实用UML关系图解

    一句话UML,再记不住就要DPP了: 关系 图解 代码 备注 1:继承关系(Generalization)     2:实现关系(Realization)     3:依赖关系(Dependency) ...

  5. Cannot convert type SomeClass to 'T'

    以下代码会出问题: public static T Protect<T>(Func<T> func, UserLevel pageRole) where T : ActionR ...

  6. 关于Base64编码的理解

    版权声明:本文为[viclee]原创,如需转载请注明出处~ https://blog.csdn.net/goodlixueyong/article/details/52132250 之前在很多业务中都 ...

  7. 洛谷P1284 三角形牧场

    题目描述 和所有人一样,奶牛喜欢变化.它们正在设想新造型的牧场.奶牛建筑师Hei想建造围有漂亮白色栅栏的三角形牧场.她拥有N(3≤N≤40)块木板,每块的长度Li(1≤Li≤40)都是整数,她想用所有 ...

  8. go语言之进阶篇有缓冲channel

    1.有缓冲channel 示例:  有缓存会阻塞,当读取完其中数值时,又可以写入. package main import ( "fmt" "time" ) f ...

  9. 修改IP地址的PowerShell

    $wmi = Get-WmiObject win32_networkadapterconfiguration -filter "ipenabled = 'true'" $wmi.E ...

  10. Javassist 字节码 语法 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...