当前位置:首页 > 数据库 > SQlite

如何在python中使用xlsxwriter将数据从SQLITE导入excel

import sqlite3
from xlsxwriter.workbook import Workbook
workbook = Workbook('output2.xlsx')
worksheet = workbook.add_worksheet()

conn=sqlite3.connect('test.sqlite')
c=conn.cursor()
c.execute("select * from abc")
mysel=c.execute("select * from abc ")
for row in mysel:
 print row
 worksheet.write(0, 0, row[0])
workbook.close()

这里是SQLITE数据库表的布局

id  sno
1   100
2   200
3   300
4   400

使用worksheet.write(0,0,row [0])我在excel文件的第一个单元格中输出为4.

使用worksheet.write(0,0,row [1])我在excel文件的第一个单元格中输出为400

我无法弄清楚FOR LOOP问题.

请帮忙

解决方法:

你的循环很好,除了你将每行数据写入同一个单元格.我不知道xlswriter,但我猜第一个和第二个参数是行和列.如果要将所有数据写为表,则需要在每次写操作时更改这些数据.

这样的事情(未经测试)?

import sqlite3
from xlsxwriter.workbook import Workbook
workbook = Workbook('output2.xlsx')
worksheet = workbook.add_worksheet()

conn=sqlite3.connect('test.sqlite')
c=conn.cursor()
c.execute("select * from abc")
mysel=c.execute("select * from abc ")
for i, row in enumerate(mysel):
    print row
    worksheet.write(i, 0, row[0])
    worksheet.write(i, 1, row[1])
workbook.close()

要处理多个列,您可以执行此操作

import sqlite3
from xlsxwriter.workbook import Workbook
workbook = Workbook('output2.xlsx')
worksheet = workbook.add_worksheet()

conn=sqlite3.connect('test.sqlite')
c=conn.cursor()
c.execute("select * from abc")
mysel=c.execute("select * from abc ")
for i, row in enumerate(mysel):
    for j, value in enumerate(row):
        worksheet.write(i, j, value)
workbook.close()

【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!