没有安装xlwt到需要安装,使用数据库连接到时候不要用返回是字典的形式,用返回数据为元祖的即可。首先连接数据库拿到所有数据返回为元祖,后操作excel表即可
import pymysql,xlwt
# 读取数据库,拿到所有数据
conn = pymysql.connect(host='localhost', user="root", password='nihao12345'
, database='db1', charset='utf8')
cursor = conn.cursor()
#不用返回数据为字典形式
sql = 'select * from parasaga'
cursor.execute(sql)
fileds = [filed[0] for filed in cursor.description] #列表生成式,所有字段
all_data = cursor.fetchall()
# 以下为操作excel部分
book = xlwt.Workbook() #新建一个excel表
sheet = book.add_sheet("台账") #新建一个sheet页
col = 0
for field in fileds: #写表头
sheet.write(0,col,field)
col+=1
#写数据(因为range取值取不到后面的数字,需要在原有的数字上+1,细节问题,那么在写表的时候应该是从第0行0列开始写数据,所以row要-1才能从0开始)
for row in range(1,len(all_data)+1):
for col in range(0,len(all_data)):
sheet.write(row,col,all_data[row-1][col])
row+=1
col+=1
book.save('台账.xls')
print("导出成功")