现有的Excel文档中有一万多条部件名称,基本上名称形式与下面类似:

FRONT BODY PANEL GRILLE (BOTTOM)
FRONT BRAKE PIPE
BONNET HINGE LH

当然还有一些不是这个规范来的。那些只能手动了,那样可能还会快点。我的要求是将它们转换成小写,第一个字母为大写,而表示LH和RH(左右方向)的时候则这两个字符不变。结果大概是这样:

Front Body Panel Grille (Bottom)
Front Brake Pipe
Bonnet Hinge LH

昨天起了第一稿,今天缝缝补补了一会,代码如下:

def old_type(file_path_1, file_path_2):
    f = open(file_path_1, 'r')

    t = []
    for line in f:
        if len(line) > 0:
            t.append(line)

    t1 = []
    unchange = ['LH', 'Lh', 'RH', 'Rh']
    for p in t:
        temp = p.split()
        t1_temp = []
        for k in temp:
            if len(k) > 1:
                if k[0] == '(':
                    k = k[0] + k[1].upper() + k[2:].lower()
                elif k in unchange:
                    k = k.upper()
                else:
                    k = k.capitalize()
                t1_temp.append(k)
            t2_temp = " ".join(t1_temp)
        t1.append(t2_temp)

    f.close()

    #print(t1)
    newlist = open(file_path_2, 'w')

    for item in t1:
        newlist.write("%s\n" % item)

    newlist.close()


# file_path_1 = 'e:/vehicle.part.0.txt'
# file_path_2 = 'e:/vehicle.part.new.txt'

里面有的毛病是命名不规范,可以再优化一下,这个得水平高点才能够搞了。还有就是记不住那些格式转换的规则,得翻书才行。不管怎样,对比手动来说,效率提高了N倍。

Leave a Reply

Your email address will not be published. Required fields are marked *

Post Navigation