python从sqlite中提取数据到excel
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的更多相关文章
- Kettle实现从数据库中提取数据到Excel
因为有个日常提数,工作日每天都要从数据库中提取数据,转换为excel,再以邮件的形式发给用户. 刚好近期同事在研究使用kettle自动提数且完成邮件的发送,觉得很实用又挺有意思的就学了一下这个技能~ ...
- 利用python将mysql中的数据导入excel
Python对Excel的读写主要有xlrd.xlwt.xlutils.openpyxl.xlsxwriter几种. 如下分别利用xlwt和openpyxl将mysql数据库中查询的数据保存到exce ...
- Python从json中提取数据
#json string:s = json.loads('{"name":"test", "type":{"name": ...
- 使用Python从PDF文件中提取数据
前言 数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据.然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都应该了 ...
- python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图
python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图 # coding=utf-8 from openpyxl import load_workbook ...
- [数据科学] 从csv, xls文件中提取数据
在python语言中,用丰富的函数库来从文件中提取数据,这篇博客讲解怎么从csv, xls文件中得到想要的数据. 点击下载数据文件http://seanlahman.com/files/databas ...
- 如何使用JMeter从文件中提取数据
在性能测试方面,重用响应数据至关重要.几乎(如果不是全部!)负载测试场景假设您: 从先前的响应中提取有趣的方面,并在下一个请求中重用它们(也称为相关) 确保实际响应符合预期(又称断言) 因此,如果您是 ...
- 将Oracle数据库中的数据写入Excel
将Oracle数据库中的数据写入Excel 1.准备工作 Oracle数据库"TBYZB_FIELD_PRESSURE"表中数据如图: Excel模板(201512.xls): 2 ...
- C#读取Excel表格数据到DataGridView中和导出DataGridView中的数据到Excel
其实想在datagridview中显示excel表格中的数据跟读取数据库中的数据没什么差别,只不过是创建数据库连接的时候连接字段稍有差别. private void btnShow_Click(obj ...
随机推荐
- Android 百度地图开发(三)
实现比例尺功能和替换自带的缩放组件 ScaleView是比例尺控件.ZoomControlView是缩放控件,MainActivity就是我们的主界面了 先看下ZoomControlView类.代码例 ...
- Asp.Net中使用Couchbase——Memcached缓存入门篇
本文个人同步博客地址: http://aehyok.com/Blog/Detail/96.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文 ...
- SimpleAdapter和AutoCompleteTextView配合使用
修改后成为这样→ package com.kale.autocompletetextview; import java.util.ArrayList; import java.util.Has ...
- PHP获取指定函数定义在哪个文件中及行号
当调试开源的代码时,希望查看某个函数的定义,那么就需要定位其位置.特别是有的项目中,函数会有多个地方都有定义,那么如果我想知道当前调用的这个函数是在哪里定义的,可以用下面这个方法. function ...
- MECE分析法(Mutually Exclusive Collectively Exhaustive)
什么是MECE分析法? MECE,是Mutually Exclusive Collectively Exhaustive,中文意思是“相互独立,完全穷尽”. 也就是对于一个重大的议题,能够做到不重叠. ...
- [转]PHP之APC缓存详细介绍(学习整理)
From : http://www.2cto.com/kf/201210/160140.html 1.APC缓存简介APC,全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存 ...
- 【手机网络游戏 编程】C#异步socketAPI调用 处理数据的流程
之前客户端在网络条件好的时候,运行没问题.但是有时候手机的网络不稳定,接受数据可能不稳定,导致接受数据错误,一直都不知道,原来是接受数据处理的不够好! 现在更改过后的接受数据的逻辑如下: //接收 p ...
- iOS:创建撒花动画
一.介绍 在很多的游戏中,会有这么一个桥段,就是闯关成功后,会弹出一个奖品同时出现很多的鲜花或者笑脸.例如微信中祝福生日时,出现蛋糕等等.那么,这次我就来实现这个功能. 二.实现原理 对外接收一个图片 ...
- 第五章 mybatis批量更新update
一.所有的指定id的模型类的同一个字段进行批量更新 实际上: update t set fileld='xx' where id in (id1,id2,...,idn) 代码: <update ...
- 创想三维:5款最好用的免费3D建模软件【转】
虽然网上有需要现成的免费三维模型,但对于许多人而言,3D打印机最吸引他们之处是可以设计创造完全属于自己的模型.问题是,现代专业级CAD软件大多价格高昂,例如Solidworks或Zbrush这样的程序 ...