{ "cells": [ { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "import json\n", "with open(\"data/nebuloss.json\", \"r\") as f:\n", " data = json.load(f)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "def split_dict(d, n):\n", " \"\"\"\n", " Splits a dictionary into n dictionaries with almost equal number of items.\n", "\n", " Parameters:\n", " - d (dict): The input dictionary.\n", " - n (int): The number of dictionaries to split into.\n", "\n", " Returns:\n", " - list of dict: A list of n dictionaries.\n", " \"\"\"\n", " items = list(d.items())\n", " length = len(items)\n", " \n", " # Calculate the size of each chunk\n", " chunk_size = length // n\n", " remainder = length % n\n", "\n", " # Split the items into chunks\n", " chunks = []\n", " start = 0\n", "\n", " for i in range(n):\n", " if remainder:\n", " end = start + chunk_size + 1\n", " remainder -= 1\n", " else:\n", " end = start + chunk_size\n", " chunks.append(dict(items[start:end]))\n", " start = end\n", "\n", " return chunks\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "chunk_1, chunk_2, chunk_3, chunk_4 = split_dict(data, n=4)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "with open(\"data/nebuloss_1.json\", \"w\") as f:\n", " json.dump(chunk_1, f, indent=4)\n", "with open(\"data/nebuloss_2.json\", \"w\") as f:\n", " json.dump(chunk_2, f, indent=4)\n", "with open(\"data/nebuloss_3.json\", \"w\") as f:\n", " json.dump(chunk_3, f, indent=4)\n", "with open(\"data/nebuloss_4.json\", \"w\") as f:\n", " json.dump(chunk_4, f, indent=4)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "hackenv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.12" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }