# coding=utf-8
import os
import sys
import xlrd
import codecs
import collections
import json
import io
#
def genLangJson (fileName, nameIdx, idx):
data = xlrd.open_workbook(fileName)
table = data.sheets()[0]
rowNum = table.nrows # 行数
colNum = table.ncols # 列数
if colNum <= idx:
return False
lang = '' #语言代号 从第0行读取
data = {}
for lineIdx in range(rowNum):
name = table.cell(lineIdx,nameIdx).value #第N行 的 key 值
value = table.cell(lineIdx,idx).value #第N行 的 对应翻译
if not name.strip():
# 跳过没有对应token字体的文本
continue
if not value.strip():
# 文本缺失
print("For " + lang + "in line " + str(lineIdx+1) + "miss")
continue
if lineIdx == 0:
# 首行
lang = value # 语言代号en_us es_es
else:
# print("%s" % (value) )
data[name] = value
lang = lang#.encode("utf-8")
print("lang:%s" % lang)
# 文件结束,写文件
curPath = os.path.dirname(os.path.abspath(__file__))
jsonPath = os.path.join(curPath, "res", "lang1", lang, "text.txt")
# jsonPath = curPath + "\\" + lang + "\\text.txt"
# 生成文件夹
dirname = os.path.dirname(jsonPath)
if not os.path.exists(dirname):
os.makedirs(dirname)
with io.open(jsonPath, 'w', encoding='utf-8') as f:
f.write(json.dumps(data, ensure_ascii=False, indent=4, sort_keys=True))
return True
# 生成json翻译文本
def makeJsonFile(fileName, tokenIdx, startIdx):
idx = startIdx
while (1):
bret = genLangJson(fileName, tokenIdx, idx) # 从左往右,一列列读取
if (bret == False):
break
idx += 1
if __name__ == '__main__':
# 自动查找excel文档-
curPath = os.path.dirname(os.path.abspath(__file__))
xlsFile = curPath + '\\lang.xlsx'
print("xlsx file:%s" % xlsFile)
# 各列位置(从0开始)
tokenIdx = 0 # Token所在的列 key 值
startIdx = 1 # 正式语言列
# fntIdx = 3 # 字体列ttf_xx
makeJsonFile(xlsFile, tokenIdx, startIdx)
python读取表格生成对应文件
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 场景:需要做个初步的接口自动化测试,所以需要对每个接口进行命名的url拼接接口命名需要有中文注释了url这个中文注...
- 昨天一个小姐姐,问我会不会Excel,作为一个单身狗,肯定不会回答我是Excel小菜鸟。 虽然不会Excel里面的...