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