ホームページ  >  記事  >  バックエンド開発  >  Python で SQLite を Excel (xls) テーブルにエクスポートする方法の詳細な例

Python で SQLite を Excel (xls) テーブルにエクスポートする方法の詳細な例

黄舟
黄舟オリジナル
2017-07-17 14:54:163169ブラウズ

この記事では、主に

sqliteデータベースを Excel (xls) テーブルにエクスポートする方法を実装するための Python を紹介し、Python の接続、読み取り、sqlite データベースの書き込み操作パッケージ (xlwt) 生成の使用方法を例と組み合わせて分析します。 Excel テーブルの関連実装スキル、必要な友人が参照できます

この記事では、Python で SQLite データベースを Excel (xls) テーブルにエクスポートする方法を説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

1. sliqte ライブラリを備えた Python 環境がインストールされていると仮定します 私の場合は Python2.5 です

2. Python xls は操作パッケージ (xlwt) を書き込み、

3. コード (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. 使用法:

> python  <path>/db2xls.py  dbpath
同じ名前がデータベースドキュメントのディレクトリに生成されます

以上がPython で SQLite を Excel (xls) テーブルにエクスポートする方法の詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。