py_script从mysql bd编写xlsx文件

时间:2019-05-07 18:59:15

标签: python mysql

我当前正在运行此脚本,以从mysql写入xlsx文件。但是,我的列返回为0。 我打错电话了

> for c,enumerate(row)中的col:

请参见下面的完整脚本:

import MySQLdb
from xlsxwriter.workbook import Workbook

user = '' # your username
passwd = '' # your password
host = '' # your host
db = '' # database where your table is stored
table = '' # table you want to save

con = MySQLdb.connect(user=user, passwd=passwd, host=host, db=db)
cursor = con.cursor()

query = "SELECT * FROM %s;" % table
cursor.execute(query)

workbook = Workbook('outfile.xlsx')
sheet = workbook.add_worksheet()
for r, row in enumerate(cursor.fetchall()):
for c, col in enumerate(row):
    sheet.write(r, c, col)

我希望这些列返回值,但是它们返回零。

1 个答案:

答案 0 :(得分:0)

您的代码似乎缩进不正确。第二个for循环不在第一个for循环内。试试这个:

for r, row in enumerate(cursor.fetchall()):
    for c, col in enumerate(row):
        sheet.write(r, c, col)

此外,如果您要写入大量数据而没有任何特定于单元格的特殊格式,则应考虑使用Pandas。

来源:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_excel.html