combine_results.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import os
  2. import json
  3. def merge_jsonl_files(input_folder, output_file):
  4. """
  5. 合并指定文件夹下所有.jsonl文件的内容到results.txt
  6. :param input_folder: 包含.jsonl文件的文件夹路径
  7. :param output_file: 输出文件路径(如results.txt)
  8. """
  9. # 确保输出目录存在
  10. with open(output_file, 'w', encoding='utf-8') as out_f:
  11. # 遍历文件夹中的所有文件
  12. for filename in os.listdir(input_folder):
  13. if filename.endswith('.jsonl'):
  14. filepath = os.path.join(input_folder, filename)
  15. try:
  16. with open(filepath, 'r', encoding='utf-8') as in_f:
  17. for line in in_f:
  18. # 直接写入原始行(保留JSONL格式)
  19. out_f.write(line)
  20. # 如果需要提取特定字段,可以解析JSON:
  21. # data = json.loads(line)
  22. # out_f.write(data.get('text', '') + '\n')
  23. print(f"已合并: {filename}")
  24. except Exception as e:
  25. print(f"处理文件 {filename} 时出错: {e}")
  26. print(f"所有.jsonl文件已合并到 {output_file}")
  27. if __name__ == "__main__":
  28. # 使用示例
  29. input_folder = "./localworkspace/results/" # 替换为你的.jsonl文件所在文件夹
  30. output_file = "./results.txt" # 输出文件路径
  31. merge_jsonl_files(input_folder, output_file)