Maison >développement back-end >Tutoriel Python >Exemple détaillé de la façon d'exporter SQLite dans un tableau Excel (xls) en Python

Exemple détaillé de la façon d'exporter SQLite dans un tableau Excel (xls) en Python

黄舟
黄舟original
2017-07-17 14:54:163217parcourir

Cet article présente principalement la méthode de Python pour exporter la base de données sqlite dans un tableau Excel (xls), et analyse la connexion et la lecture par Python de la base de données sqlite sous forme d'exemples . Pour obtenir et utiliser le package d'opérations d'écriture (xlwt) pour générer des tableaux Excel, les amis qui en ont besoin peuvent se référer à ce qui suit

Cet article décrit l'exemple de comment exporter une base de données SQLite vers Excel (xls). tableau en Python. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

1 Supposons que l'environnement Python avec la bibliothèque sliqte ait été installé Le mien est Python2.5

2 Téléchargez le package d'opération d'écriture python xls (xlwt) et installez-le

3. Voici le code (db2xls.py) :

import sqlite3 as sqlite
from xlwt import *
#MASTER_COLS = ['rowid', 'type','name','tbl_name', 'rootpage','sql']
def sqlite_get_col_names(cur, table):
  query = 'select * from %s' % table
  cur.execute(query)
  return [tuple[0] for tuple in cur.description]
def sqlite_query(cur, table, col = '*', where = ''):
  if where != '':
    query = 'select %s from %s where %s' % (col, table, where)
  else:
    query = 'select %s from %s ' % (col, table)
  cur.execute(query)
  return cur.fetchall()
def sqlite_to_workbook(cur, table, workbook):
  ws = workbook.add_sheet(table)
  print 'create table %s.' % table
  for colx, heading in enumerate(sqlite_get_col_names(cur, table)):
      ws.write(0,colx, heading)
  for rowy,row in enumerate(sqlite_query(cur, table)):
    for colx, text in enumerate(row):
      ws.write(rowy+ 1, colx, text)
def main(dbpath):
  xlspath = dbpath[0:dbpath.rfind('.')] + '.xls'
  print "<%s> --> <%s>"% (dbpath, xlspath)
  db = sqlite.connect(dbpath)
  cur = db.cursor()
  w = Workbook()
  for tbl_name in [row[0] for row in sqlite_query(cur, &#39;sqlite_master&#39;, &#39;tbl_name&#39;, &#39;type = \&#39;table\&#39;&#39;)]:
    sqlite_to_workbook(cur,tbl_name, w)
  cur.close()
  db.close()
  if tbl_name !=[]: w.save(xlspath)
if name == "main":
  # arg == database path
  main(sys.argv[1])
4 Utilisation :

Si c'est le cas. correct, Un fichier xls du même nom sera généré dans le répertoire de la base de données

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn