|
@@ -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)
|