python3学习笔记之四——读取excel表数据,并使用字符串格式化将其转化成json格式

目标:通过字符串格式化的方法将excel表中读取的内容转化为json格式,加深对字符串格式化的印象

#student.xlsx

python3学习笔记之四——读取excel表数据,并使用字符串格式化将其转化成json格式_第1张图片

json格式:

[{“name”:"joey","age":12},{"name":"ben","age":13}]

先将excel表里的内容利用xlrd读取出来,分析student.xlsx中的数据可知,第一行显示的是数据的名称,第二行显示的是类型,实际的数据从第三行开始。

根据json格式,第一行的数据名称将作为键值

import xlrd

def openWorkbook ():
#读取excel表的数据
workbook = xlrd.open_workbook( r 'C: \U sers \ student.xlsx' )
#选取需要读取数据的那一页
sheet = workbook.sheet_by_index( 0 )
#获得行数和列数
rows = sheet.nrows
cols = sheet.ncols
#创建一个数组用来存储excel中的数据
p = []
for i in range ( 2 ,rows):
d = {}
for j in range ( 0 ,cols):
q = ' %s ' % sheet.cell( 0 ,j).value
d[q] = sheet.cell(i,j).value
ap = []
for k,v in d.items():
if isinstance (v, float ): #excel中的值默认是float,需要进行判断处理,通过'"%s":%d''"%s":"%s"'格式化数组
ap.append( '" %s ": %d ' % (k, v))
else :
ap.append( '" %s ":" %s "' % (k, v))
s = '{ %s }' % ( ',' .join(ap)) #继续格式化
p.append(s)
t = '[ %s ]' % ( ',' .join(p)) #格式化
print (t)
with open ( 'student4.json' , "w" ) as f:
f.write(t)


openWorkbook()


执行结果如下:










你可能感兴趣的:(python3)