我当前正在运行此脚本以从 mysql 写入 xlsx 文件。然而,我的列返回为 0。 我是不是用错了电话
> 对于 c,枚举(行)中的列:
请参阅下面的完整脚本:
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)
我预计这些列会返回值,但它们会返回零。
最佳答案
您的代码似乎没有正确缩进。第二个 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
关于python - py脚本从mysql数据库写入xlsx文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56028933/