全角文本变半角文本

在做自然语言处理的时候发现国内的好多语料库都是采用的全角编码的, 这会有些麻烦, 需要将其改编成半角编码

import os

def Q2B(uchar):
    """全角转半角"""
    inside_code = ord(uchar)
    if inside_code == 0x3000:
        inside_code = 0x0020
    else:
        inside_code -= 0xfee0
        
    # 转完之后不是半角字符返回原来的字符
    if inside_code < 0x0020 or inside_code > 0x7e:  
        return uchar
    return chr(inside_code)



if __name__ == '__main__':

    text = None
    path = "E:\\pycharm\\original\\"
    files = os.listdir(path)
    for file in files:
        file = path + file
        with open(file, "r", encoding="utf-8")as f:
            text = f.readlines()
        text_text = []
        for per_text in text:
            per_text = "".join([ Q2B(word) for word in per_text])
            text_text.append(per_text)

        fileNewname = file[:-4] + "2" + file[-4:]
        with open(fileNewname, "w", encoding="utf-8")as f2:
            for per_text in text_text:
                f2.write(per_text)

这样就能将目录下的所有文件的编码改成半角的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值