首页 > 编程 > Python > 正文

Python实现将SQLite中的数据直接输出为CVS的方法示例

2020-01-04 16:59:42
字体:
来源:转载
供稿:网友

本文实例讲述了Python实现将SQLite中的数据直接输出为CVS的方法。分享给大家供大家参考,具体如下:

对于SQLite来说,目前查看还是比较麻烦,所以就像把SQLite中的数据直接转成Excel中能查看的数据,这样也好在Excel中做进一步分数据处理或分析,如前面文章中介绍的《使用Python程序抓取新浪在国内的所有IP》。从网上找到了一个将SQLite转成CVS的方法,贴在这里,供需要的朋友使用:

import sqlite3import csv, codecs, cStringIOclass UnicodeWriter:  """  A CSV writer which will write rows to CSV file "f",  which is encoded in the given encoding.  """  def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds):    # Redirect output to a queue    self.queue = cStringIO.StringIO()    self.writer = csv.writer(self.queue, dialect=dialect, **kwds)    self.stream = f    self.encoder = codecs.getincrementalencoder(encoding)()  def writerow(self, row):    self.writer.writerow([unicode(s).encode("utf-8") for s in row])    # Fetch UTF-8 output from the queue ...    data = self.queue.getvalue()    data = data.decode("utf-8")    # ... and reencode it into the target encoding    data = self.encoder.encode(data)    # write to the target stream    self.stream.write(data)    # empty queue    self.queue.truncate(0)  def writerows(self, rows):    for row in rows:      self.writerow(row)conn = sqlite3.connect('ipaddress.sqlite3.db')c = conn.cursor()c.execute('select * from ipdata')writer = UnicodeWriter(open("export_data.csv", "wb"))writer.writerows(c)

希望本文所述对大家Python程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表