import pymysql,xlwt
def to_excel(table_name):
host, user, passwd, db = '127.0.0.1', 'root', '123', 'mytable'
conn = pymysql.connect(user=user, host=host, port=3306,
passwd=passwd, db=db, charset='utf8')
cur = conn.cursor() # 建立游标
sql = 'select * from %s;' % table_name
cur.execute(sql) # 执行mysql
fields = [filed[0] for filed in cur.description] # 列表生成式,所有字段
print(fields)
all_data = cur.fetchall() # 所有数据
#写excel
book = xlwt.Workbook() # 先创建一个book
sheet = book.add_sheet('sheet1') # 创建一个sheet表
# enumerate自动计算下标,将表头导入Excel
for col, field in enumerate(fields):
# 将表头写入第一行,col是列的索引,field字段名
sheet.write(0, col, field)
#从第一行开始写
row = 1 # 行数
# 循环出每一行的数据
for data in all_data: # 二维数据,有多少条数据,控制行数
for col, field in enumerate(data): # 控制列数
sheet.write(row, col, field)
row += 1 # 每次写完一行,行数加1
book.save(r'D:\%s.xls' % table_name) # 保存excel文件
to_excel('test')
print("导出成功")