我当前正在运行此脚本,以从mysql写入xlsx文件。但是,我的列返回为0。 我打错电话了
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)
我希望这些列返回值,但是它们返回零。
答案 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