ExcelExportTool.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. # -*- coding: utf-8 -*-
  2. # 这段代码主要的功能是把excel表格转换成utf-8格式的json文件
  3. import os
  4. import sys
  5. import codecs
  6. import xlrd #http://pypi.python.org/pypi/xlrd
  7. import json
  8. import time
  9. import ExcelInfo
  10. import importlib
  11. importlib.reload(sys)
  12. #获取相对路径下的所有文件名
  13. def all_path(dirname):
  14. result = {}
  15. for maindir, subdir, file_name_list in os.walk(dirname):
  16. for filename in file_name_list:
  17. apath = os.path.join(maindir, filename)
  18. result[filename]=apath
  19. return result
  20. if __name__ == '__main__':
  21. config=json.load(open( 'Config.json','r'))
  22. paths=all_path(config["srcFolder"])
  23. for key in paths:
  24. if key[0]=='~':#忽略打开的Excel文件产生的临时文件
  25. continue
  26. pair=key.split('.')
  27. if len(pair)<=0:
  28. continue
  29. if pair[len(pair)-1]=='xlsx' or pair[len(pair)-1]=='xls':
  30. print('parsing excel:'+paths[key])
  31. finalJsons = ExcelInfo.ExcelInfo(paths[key],config["headRow"],config["round"],config["ignoreEmpty"]).FinalTable()
  32. for key in finalJsons:
  33. outPath=config["destFolder"]+'/'+ key+'.json'
  34. with open(outPath,'w',encoding='UTF-8') as fileobject:
  35. if config["format"]==True:
  36. fileobject.write(json.dumps(finalJsons[key],indent=4,ensure_ascii=False))
  37. else:
  38. fileobject.write(json.dumps(finalJsons[key],ensure_ascii=False))
  39. print('exported json --> '+outPath)
  40. print()
  41. print("All OK")
  42. exit(0)