Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1627730
  • 博文数量: 126
  • 博客积分: 1541
  • 博客等级: 上尉
  • 技术积分: 1914
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-20 11:14
文章分类

全部博文(126)

文章存档

2014年(21)

2013年(42)

2012年(63)

分类: 系统运维

2014-07-10 17:18:25

前段时间为了给一个程序做语言包自动导入导出工具,发现Python做工具还是挺好用的,尤其是对各种编码的支持。

安装xlwt3和xlrd3,它们是针对Python3的版本。

将lang下的日文语言包导出到一个excel里:

点击(此处)折叠或打开

  1. import os
  2. import glob
  3. path = os.getcwd()
  4. files = glob.glob('../trunk/Resource/lang/ja/*.txt')
  5. import xlwt3

  6. if len(files) > 0:
  7.     wb = xlwt3.Workbook()
  8.     for file in files:

  9.         fileName = file.split('\\')[1].split('.')[0]
  10.         print(fileName)
  11.         ws = wb.add_sheet(fileName)
  12.         with open(file, encoding='utf-8') as a_file:
  13.             line_number = 0
  14.             for a_line in a_file:
  15.                 a_line = a_line.rstrip()
  16.                 mark = a_line.find("=")
  17.                 ws.write(line_number, 0, a_line[0:mark])
  18.                 ws.write(line_number, 1, a_line[mark+1:])
  19.                 ws.col(0).width = 8000
  20.                 ws.col(1).width = 40000
  21.                 line_number += 1
  22.             a_file.close()

  23.     wb.save('langPack_ja.xls')
sourceExcel下的excel文件导出为各txt文件:

点击(此处)折叠或打开

  1. import os
  2. import glob
  3. import xlrd3 as xlrd
  4. import re

  5. path = os.getcwd()
  6. files = glob.glob('sourceExcel/*')

  7. for file in files:
  8.     wb = xlrd.open_workbook(file)

  9.     for sheetName in wb.sheet_names():
  10.         txtFile = open('outputTxts/' + sheetName + '.txt', mode='w', encoding='utf-8')
  11.         sheet = wb.sheet_by_name(sheetName)
  12.         for rownum in range(sheet.nrows):
  13.             v1 = sheet.cell(rownum, 0).value
  14.             if (type(v1) == float):
  15.                 v1 = str(v1)
  16.                 v1 = re.sub('\.0*$', "", v1)
  17.             v1 = v1.rstrip()
  18.             v2 = sheet.cell(rownum, 1).value
  19.             if (type(v2) == float):
  20.                 v2 = str(v2)
  21.                 v2 = re.sub('\.0*$', "", v2)
  22.             v2 = v2.rstrip()
  23.             dataStr = v1 + '=' + v2 + '\n'
  24.             txtFile.write(dataStr)
  25.         txtFile.close()
阅读(1669) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~