怎么把一个jsonl文件拆分成十个大小相同的文件?
时间: 2024-04-09 13:32:56 浏览: 12
你可以使用以下的Python代码来将一个JSONL文件拆分成十个大小相同的文件:
```python
import json
import os
def split_jsonl_file(input_file, output_dir, num_files):
# 创建输出目录
os.makedirs(output_dir, exist_ok=True)
# 统计输入文件的总行数
total_lines = sum(1 for line in open(input_file))
# 计算每个输出文件的行数
lines_per_file = total_lines // num_files
# 拆分文件
with open(input_file, 'r') as f:
for i in range(num_files):
# 生成输出文件名
output_file = os.path.join(output_dir, f'output_{i}.jsonl')
with open(output_file, 'w') as outfile:
for j in range(lines_per_file):
# 读取一行数据
line = f.readline()
# 写入到输出文件
outfile.write(line)
print(f'成功将 {input_file} 拆分成 {num_files} 个文件!')
# 示例用法
split_jsonl_file('input.jsonl', 'output_directory', 10)
```
请确保将`input.jsonl`替换为你要拆分的实际输入文件的路径,`output_directory`替换为你希望输出文件存储的目录路径,并根据需要调整拆分的文件数量(此处为10个文件)。
这个代码将会把输入文件的内容按行拆分到多个输出文件中,每个输出文件的行数将尽可能相等。