Browse Source

开服程序

robert 4 years ago
parent
commit
a6882fa95e
1 changed files with 14 additions and 75 deletions
  1. 14 75
      工具库文件/excelToJson_plan.py

+ 14 - 75
工具库文件/excelToJson_plan.py

@@ -1,77 +1,14 @@
 #!/usr/bin/env python
-# coding: utf-8
+# coding: utf-8 
 import os.path
 import sys
 import codecs
-import xlrd
 import shutil
-excelDir = ".\策划脚本"
-jsonDir = ".\Server\GameServer\json"
-excelDir=unicode(excelDir,'utf8')
-jsonDir=unicode(jsonDir,'utf8')
+from util import *
+excelDir = "./策划脚本".decode('utf-8')
+jsonDir = "./Server/GameServer/json"
 g_objName=""
 
-def NumberToString (aFloat):
-    strTemp = str(aFloat)
-    if len(strTemp) == 0:
-        return '0';
-    if type(aFloat) != float:
-        print strTemp + u" - 数字类型格式错误"
-        return False
-    strList = strTemp.split(".")
-    if len(strList) == 1 :
-        return strTemp
-    else:
-        if strList[1] == "0" :
-            return strList[0]
-        else:
-            print g_objName + " : " + strTemp + u" - 类型是否应该改为FLOAT"
-            return False
-
-def FloatToString (aFloat):
-    strTemp = str(aFloat)
-    if len(strTemp) == 0:
-        return '0';
-    if type(aFloat) != float:
-        print strTemp + u" - 数字类型格式错误"
-        return False
-    strList = strTemp.split(".")
-    if len(strList) == 1 :
-        return strTemp
-    else:
-        if strList[1] == "0" :
-            return strList[0]
-        else:
-            return strTemp
-
-def StringToString (aStr):
-    if type(aStr) != float:
-        return str(aStr)
-    strTemp = str(aStr)
-    strList = strTemp.split(".")
-    if len(strList) == 1 :
-        return strTemp
-    else:
-        if strList[1] == "0" :
-            return strList[0]
-        else:
-            return strTemp
-
-def haveNext(table, col, row, max_cols):
-    for c in range(col, max_cols):
-        objType = str(table.cell_value(row, c));
-        if(objType.find("@") == -1 or objType.find("_") != 0):
-            return 1
-    return 0
-
-def int2index(idx):
-    pos = chr(idx % 26 + 65)
-    if idx > 25:
-        a = int(idx / 26-1)
-        pos = int2index(a)+pos
-    return pos
-
-
 def table2json(table, jsonfilename):
     nrows = table.nrows
     ncols = table.ncols
@@ -83,6 +20,7 @@ def table2json(table, jsonfilename):
         # if r == 2:
             # continue
         f.write(u"\t[ ")
+        begin = False
         for c in range(ncols):
             strCellValue = u""
             objName = str(table.cell_value(1,c))
@@ -92,6 +30,11 @@ def table2json(table, jsonfilename):
             objStr = table.cell_value(r,c)
             if(objName.find("@") >= 0 or objName.find("_") == 0):
                 continue
+            if(objName == ""):
+                continue
+            if begin:
+                f.write(u", ")
+            begin=True
             if r <= 2:
                 strCellValue = u"\""  + objStr + u"\""
             else:
@@ -110,10 +53,6 @@ def table2json(table, jsonfilename):
                     strvalue = "".join(strvalue.split("\n"))
                     strCellValue = u"\""  + strvalue.replace("\\", "\\\\") + u"\""
 
-            if c < ncols-1:
-                isNext = haveNext(table, c+1, 1, ncols)
-                if isNext != 0:
-                    strCellValue += u", "
             f.write(strCellValue)
         f.write(u" ]")
         if r <= 1 or (r == 2 and nrows > 3) or (r > 2 and r < nrows-1):
@@ -135,8 +74,8 @@ def excelToJson(excelFileName,lgFile):
     childDir = os.path.join(jsonDir, xlsName)
     if not os.path.exists(childDir) :
         os.makedirs(childDir)
-    data = xlrd.open_workbook(excelFileName)
-    for table in data.sheets():
+    data = openxml(excelFileName)
+    for table in data:
         print "sheet : " + table.name
         lgFile.write('\t'+'sheetCO : ' + table.name)
         lgFile.write(u"\r\n")
@@ -163,8 +102,8 @@ if __name__ == '__main__':
             for filename in filenames:
                 if not filename.startswith("~$") and not filename.startswith("$") and not parent.endswith("clientConfig"):
                     sufix = os.path.splitext(filename)[1][1:]
-                    #	print('sufix:' + sufix);
-                    if sufix == 'xls' or sufix == 'xlsx':
+                    #   print('sufix:' + sufix);
+                    if sufix == 'xml':
                         print 'filename : ' + filename
                         excelFileName = os.path.join(parent, filename)
                         excelToJson(excelFileName,lgFile)