针对JSON文件中是否含有全角数据 去除全角数据

import json
import re

def is_fullwidth(text):
    full_width_digits = '[\uFF10-\uFF19]'
    full_width_uppercase_letters = '[\uFF21-\uFF3A]'
    full_width_lowercase_letters = '[\uFF41-\uFF5A]'
    regex_pattern = f"{full_width_digits}|{full_width_uppercase_letters}|{full_width_lowercase_letters}"
    match_results = re.findall(regex_pattern, text)
    if len(match_results) > 0:
        return True
    else:
        return False
def check(data):
    for key, value in data.items():
        if is_fullwidth(str(value)):
            return False
    return True

input_file = ''
output_file = ''

# 逐行读取JSON文件,并保存为JSONL文件
total = 0
import json

# 打开原始JSON文件和目标文件
with open(input_file, 'r',encoding='utf-8') as file_in, open(output_file, 'a',encoding='utf-8') as file_out:
    # 逐行读取原始JSON文件
        for line in file_in:
            # 解析JSON数据
            data = json.loads(line)
            # 在这里可以对数据进行处理或操作
            # 将数据写入目标文件
            if check(data):
                json.dump(data, file_out,ensure_ascii=False)
                file_out.write('\n')  # 写入换行符,保持每行一个JSON对象
                file_out.flush()
            else:
                total+=1
print(total)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值