使用python对excle和json互相转换的示例
python版本:2.7
只是读取excel的话可以直接使用xlrd
1、excletojson
代码如下
#-*-coding:utf8-*- importxlrd fromcollectionsimportOrderedDict importjson importcodecs file_name=raw_input('请输入要转换的excle文件路径:') wb=xlrd.open_workbook(file_name) dict_list=[] sh=wb.sheet_by_index(0) title=sh.row_values(0) forrownuminrange(1,sh.nrows): rowvalue=sh.row_values(rownum) single=OrderedDict() forcolnuminrange(0,len(rowvalue)): print(title[colnum],rowvalue[colnum]) single[title[colnum]]=rowvalue[colnum] dict_list.append(single) j=json.dumps(dict_list) withcodecs.open(file_name[:-5]'.json',"w","utf-8")asf: f.write(j)
2、jsontoexcle
代码如下
注意:标题会写在最后一行,主要针对字段不同的json数据。
importjson importos fromopenpyxlimportWorkbook wb=Workbook() ws=wb.active cols=[] defjson2excel(jsfile,excfile): #读取json数据 a=1 ifos.path.exists(jsfile): withopen(jsfile,'r')asfp: whileTrue: line=fp.readline() ifnotline: break jsdata=json.loads(line) forkinjsdata.keys(): ifknotincols: cols.append(k) rowdata=[] forcolincols: rowdata.append(jsdata.get(col)) print'正在写入的行数:'a ws.append(rowdata)#写行 a+=1 ws.append(cols)#标题 print('保存中') wb.save(excfile)#保存 if__name__=='__main__': importsys iflen(sys.argv)==3: jsfile=sys.argv[1] excfile=sys.argv[2] json2excel(jsfile,excfile) else: print("Usage:pythonwriteExc.pyxx.jsonxx.xlsx")
以上这篇使用python对excle和json互相转换的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。