您的位置:首页 > 教育 > 锐评 > 江门网站建设推广策划_三叶草gy5986_网站优化培训学校_郑州网站seo优化公司

江门网站建设推广策划_三叶草gy5986_网站优化培训学校_郑州网站seo优化公司

2025/5/15 20:12:47 来源:https://blog.csdn.net/qiu_zhongya/article/details/53414537  浏览:    关键词:江门网站建设推广策划_三叶草gy5986_网站优化培训学校_郑州网站seo优化公司
江门网站建设推广策划_三叶草gy5986_网站优化培训学校_郑州网站seo优化公司

语言本地化过程中 ,yaml转成excel格式给翻译人员使用,翻译好之后再转换成yaml格式给游戏使用。但是在翻译人员编辑时是不可控的,有可能造成某种想不到的问题。因此,需要将翻译人员的excel转成yaml ,再将yaml转成excel和翻译人员的excel进行对比,看看有没有疏漏。对比的主要内容是键-值对比,python代码如下

 #coding=utf-8
__author__ = 'qzyn2320'import sys
import yaml
import codecsfrom yaml.constructor import Constructordef add_bool(self, node):return self.construct_scalar(node)Constructor.add_constructor(u'tag:yaml.org,2002:bool', add_bool)reload(sys)
sys.setdefaultencoding('utf-8')
# excel文件读出存为dict
def ExackFromExcel(filename):import xlrdwb = xlrd.open_workbook(filename)sh = wb.sheet_by_index(0)excelDict = {}for line in xrange(1, sh.nrows):key = sh.cell_value(line, 0)value = sh.cell_value(line, 1)excelDict[key] = valuereturn excelDict
#将对比两个dict
def CompareDict(baseDict, cmpDict):baseKeys = list(baseDict.keys())cnt = 0for key in baseKeys:if(cmpDict.has_key(key)):cnt += 1#打印键键相同,值不同的字典元素,打印后删除该键if(not (baseDict[key] == cmpDict[key])):print "value differ,key =  ", key, ",  value1 = " , baseDict[key], ", value2 = " ,cmpDict[key]del baseDict[key]del cmpDict[key]print "samekey num:", cnt#打印两个互不包含的键和值print "base extra :",baseDictprint "cmp extra :", cmpDict
if __name__=="__main__":if len(sys.argv) < 3:sys.exit();basedict = ExackFromExcel(sys.argv[1])cmpdict = ExackFromExcel(sys.argv[2])CompareDict(basedict, cmpdict)sys.exit();

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com