1.我们看到字典形式的数据如下所示
1
|
list = [[ "2891-1" , "D" ],[ "2892-1" , "D" ],[ "2896-1" , "B" ],[ "2913-1" , 0 ],[ "2913-2" , 1 ],[ "2913-3" , 1 ]] |
此list是在数据库中存在的
2.我们把这些样式的字点数据做一次数据转换
把list转换成字典的形式(看下图代码)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# -*- coding: utf-8 -*- import pymysql import json import re from xlsxwriter import Workbook datanew = {} #result数据是查询数据库中的list for item in result: datanew[item[ 'login_name' ]] = list ( eval (item[ 'answer' ])) #创建一个新的xlsx文件(如果原有同名文件会被覆盖) book = xlsxwriter.Workbook( 'C:/Users/Administrator/Desktop/xxx.xlsx' ) #创建一个新的表单,默认名称为 “sheet1”,输入字符参数可指定名称 sheet1 = book.add_worksheet() #字典数据 #循环字典key 的值 num = [a for a in datanew] lennum = len (num) for a in range (lennum): lena = len (datanew[num[a]]); lena1 = datanew[num[a]]; try : print (lena1) lena1.sort() except Exception as e: print (e) a1 = num[a] sheet1.write(a + 1 , 0 ,a1) b1x = [] for b in range (lena): b1 = (lena1[b])[ 0 ] b2 = (lena1[b])[ 1 ] b1x.append(b1); sheet1.write(a + 1 ,b + 1 ,b2) if a = = 0 : for y in range ( len (b1x)): bx = b1x[y] sheet1.write( 0 ,y + 1 ,bx) book.close() |
运行上面代码 我们得到这些样子的格式
总结
以上所述是小编给大家介绍的python中将字典形式的数据循环插入Excel,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.cnblogs.com/stevenshushu/p/8294940.html