скопировать один словарь из файла python и вставить его в соответствующий файл json - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть python файл с именем abc.py, который выполняет следующую функцию. ab c .py:

    def variables(self, output_analysis):
        self.variables_list = [

            {
                'name': 'primary_metric',
                'description': 'The single measure selected',
                'datatype': type(output_analysis['primary_metric']).__name__,
                'value': output_analysis['primary_metric'],
                'scenario': ["abc.json"]
            },

            {
                'name': 'secondary_entity_first',
                'description': f' Which {output_analysis["focus_on_dimension"]} is on 1st rank in terms of {output_analysis["secondary_metric"]} in {output_analysis["current_period"]}.',
                'datatype': type(output_analysis['secondary_entity_first']).__name__,
                'value': output_analysis['secondary_entity_first'],
                'scenario': ["compare_rank_for_focus_on_scenario__000__0_0_0_0_0.json"]
            }
         ]

        variables_dict = {
            'variables': self.variables_list
        }

        return variables_dict

Я хочу скопировать словарь self.variables в abc.json файл в следующем формате:

1) заменить одинарные кавычки на двойные кавычки

2) замена двойных кавычек вокруг всех ключей output_analysis на одинарные кавычки

3) помещение всех значений в двойные кавычки без кавычек вокруг них.

ab c. json:

       {

      "truth_table": {
        "business_logic": {
            "department": {
                "name": "default"
            },
            "domain": {
                "name": "default"
            },

            "variables": [
                {
                    "name": "primary_metric",
                    "description": "The single measure selected",
                    "datatype": "type(output_analysis['primary_metric']).__name__",
                    "value": "output_analysis['primary_metric']"
                },

                {
                    "name": "secondary_entity_first",
                    "description": "f'Which {output_analysis['focus_on_dimension']} is on 1st rank in terms of {output_analysis["secondary_metric"]} in {output_analysis["current_period"]}.'",
                    "datatype": "type(output_analysis['secondary_entity_first']).__name__",
                    "value": "output_analysis['secondary_entity_first']"
                }
            ]
        }
    }
} 

Поскольку у меня несколько файлов, я хочу написать для этого скрипт на python.

1 Ответ

0 голосов
/ 09 апреля 2020

Вы можете использовать метод dump для выгрузки словаря переменных в файл json. Просто импортируйте json сначала.

Затем вы можете использовать этот код:

with open("jsonFilePath") as jsonfile:
json.dump(variables_dict, jsonfile)

Это должно работать ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...