如何将Excel文件转为json格式的呢

如题所述

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import xlrd
import os
import json
#源excel文件绝对路径
PATH_TARGET_EXCEL = '/Users/bliss_ddo/Desktop/DMFans/DMFans/Resource/Config/粉丝APP提示文字.xlsx'
#目标json文件路径,可以直接配置成工程中的路径,覆盖写入
PATH_TARGET_JSONFILE = '/Users/bliss_ddo/Desktop/DMFans/DMFans/Resource/Config/json_alert_message.json'
#目标define文件路径,如果没有,脚本会自动创建
PATH_TARGET_HEADERFILE = '/Users/bliss_ddo/Desktop/test_excel2json.h'
EXCEL_DATA = xlrd.open_workbook(PATH_TARGET_EXCEL)
table = EXCEL_DATA.sheets()[0] 
COUNT_ROW = table.nrows
COUNT_COL = table.ncols

#读取excel写入json文件
arr_big = []
for i in range(1,COUNT_ROW):
    dict_key_value = {}
    for j in range(0,COUNT_COL):
        each_key   = table.cell(0,j).value
        each_value = table.cell(i,j).value 
        dict_key_value[each_key.encode('utf-8')]=each_value.encode('utf-8')
    arr_big.append(dict_key_value)
json_string = json.dumps(arr_big,ensure_ascii=False)
file_pra_txt = open(PATH_TARGET_JSONFILE,'w')
file_pra_txt.write(json_string)
file_pra_txt.close()
print '生成json文件成功!' 


#读取excel写入define文件
finalString = ''
for i in range(1,COUNT_ROW):
     each_string = table.cell(i,0).value
     each_comment =table.cell(i,1).value
     finalString += '#define '+each_string+' @"'+each_string+ '"//'+each_comment+'\n'
file_header = open(PATH_TARGET_HEADERFILE,'w+')
file_header.write(finalString.encode('utf-8'))
file_header.close()

print '生成define文件成功!'```
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答