Python 处理ios国际化文件,从strings读取到excel表

from openpyxl import Workbook
import os
import re

wb = Workbook()
ws = wb.active
ws.title = 'iOSString'

ws.cell(row=1, column=1).value = 'key'

urlList = []
valueList = []
keyList = []
# savepath = input('请输入需要保存的路径:')



def __getfilename(path):

    f_list = os.listdir(path)
    for i in f_list:
        if os.path.splitext(i)[1] == '.lproj':
            url = path + '/' + i + '/' + 'Localizable.strings'
            urlList.append(url)
            valueList.append(os.path.splitext(i)[0])

    #  TODO:这里应该要用线程控制  目前还不会
    for i in f_list:
        print("files : "+i)
        if ".lproj" in i:
            url = path + '/' + i + '/' + 'Localizable.strings'
            print("deal path: " + url)
            __dealbasefile(url)


#  处理key值 因为后面要遍历查询
def __dealbasefile(path):

    with open(path) as f:
        context = f.read()
        partten = re.compile(r'"(.*)" = "(.*)";')
        result = partten.findall(context)

        for i in range(len(result)):
            ws.cell(row=i + 2, column=1).value = result[i][0]
            keyList.append(result[i][0])

        for i in range(len(urlList)):
            ws.cell(row=1, column=i + 2).value = valueList[i]
            __dealExcel(urlList[i], i + 2)

def __dealExcel(url, index):

    print('当前处理的文件是=',url)
    with open(url) as f:
        context = f.read()
        partten = re.compile(r'"(.*)" = "(.*)";')
        result = partten.findall(context)

        resultDictionary = {}
        for i in range(len(result)):
            resultDictionary.setdefault(result[i][0], result[i][1])

        for i in range(len(keyList)):
            if keyList[i] in resultDictionary:

                ws.cell(row=i + 2, column=index).value = resultDictionary[keyList[i]]
            else:
                print('字典里面没有该key=',keyList[i])
        # print(resultDictionary)
    wb.save('/Users/bobbob/Desktop/douban.xlsx')


if __name__ == '__main__':
    path = "/Users/bobbob/kandao-xeme-ios/QooCam/"
    __getfilename(path)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值