加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
split.py 945 Bytes
一键复制 编辑 原始数据 按行查看 历史
yrt19 提交于 2023-10-17 13:25 . first commit
'''
将数据划分为不同类别,并统计各自占比。
'''
import os
import json
from tqdm import tqdm
from count_chi import getClass
from collections import defaultdict
from count_chi import INPUT_FILE, OUTPUT_DIR
print(f'{INPUT_FILE = }')
print(f'{OUTPUT_DIR = }')
os.makedirs(OUTPUT_DIR, exist_ok = True)
def main():
writerDict = dict()
countDict = defaultdict(int)
with open(INPUT_FILE, 'r', encoding = 'utf-8') as file:
for line in tqdm(file):
obj = json.loads(line)
label = getClass(obj)
countDict[label] += 1
if label not in writerDict:
writerDict[label] = open(os.path.join(OUTPUT_DIR, f'split-{label}.jsonl'), 'w', encoding = 'utf-8')
writer = writerDict.get(label)
writer.write(line)
for writer in writerDict.values():
writer.close()
print(f'{countDict = }')
if __name__ == '__main__':
main()
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化