使用xlwt vs openpyxl

我需要一些在PYTHON中的openpyxl的帮助。 我一直使用xlwt相当成功,但现在我有一些文件(在MySQL工作台),包含超过65,000行。 我知道我可以创build一个CSV文件,但是XLSX是首选的输出。 我能够使用openpyxl创build工作簿,但是我没有成功将MySQL数据放入表中。 使用xlwt的程序的主要部分是非常简单的(见下文)。 我似乎无法弄清楚如何使用openpyxl做同样的事情。 我已经尝试了许多不同的组合和解决scheme。 我只是在“for x in result:”之后卡住了。

file_dest = "c:\home\test.xls" result = dest.execute("select a, b, c, d from filea) for x in result: rw = rw + 1 sheet1 = book.add.sheet('Sheet 1') row1 = sheet1.row(rw) row1.write(1,x[0]) row1.write(1,x[1]) row1.write(1,x[2]) row1.write(1,x[3]) book.save(file_dest) 

这是使用append()的一个很好的例子:

在当前工作表的底部附加一组值。

如果是一个列表:从第一列开始按顺序添加所有值

 import openpyxl file_dest = "test.xlsx" workbook = openpyxl.Workbook() worksheet = workbook.get_active_sheet() result = dest.execute("select a, b, c, d from filea") for x in result: worksheet.append(list(x)) workbook.save(file_dest) 

一个小例子:

 wb = Workbook(encoding='utf-8') ws = wb.worksheets[0] row = 2 ws.title = "Report" ws.cell('A1').value = "Value" ws.cell('B1').value = "Note" for item in results: ws.cell('A%d' % (row)).value = item[0] ws.cell('B%d' % (row)).value = item[1] row += 1 

http://pythonhosted.org//openpyxl/