J'ai essayé de créer une API list.csv avec Python à partir de swagger.yaml

Environnement

Au fait, j'ai écrit un article sur Qiita pour la première fois.

supposition

MacBook Pro macOS Catalina 10.15.7

introduction

J'ai installé ce qui suit.

  1. Docker

référence:

Réglage

  1. Activer les paramètres de synchronisation VS Code

travail

  1. Créez un référentiel sur Github
  2. À portée de main, copiez microsoft / vscode-remote-try-python (git clone)
  3. Changez la destination distante en votre propre référentiel avec le nom du dossier et git remote set-url

La gestion des erreurs

J'ai eu une erreur lors de l'installation de la bibliothèque ou de l'utilisation de Jupiter. Pour le moment, j'ai fait un commentaire pour laisser l'utilisateur root.

Installation de la bibliothèque

Utilisez la bibliothèque PyYAML et la bibliothèque CSV. C'est très facile et merveilleux car il suffit de l'écrire dans requirements.txt et de le reconstruire et de le relancer.

requirements.txt


flask
pyyaml
csv
ipykernel

codage

Ouvrez yaml, Rassemblez les contenus que vous souhaitez écrire en CSV dans l'ordre Enregistrer au format CSV accompli.

Puisque yaml est lu comme un type de dictionnaire, Il s'agissait de décrire la boucle et l'acquisition des variables afin qu'elles répondent aux conditions souhaitées.

open-api-yaml-to-csv.py


import yaml
import csv

#Stocker le contenu du fichier yaml dans une variable de type dictionnaire
with open("oidc-swagger.yaml", "r") as yf:
    data = yaml.safe_load(yf)

#Extraire les informations nécessaires du dictionnaire et les stocker sous forme de tableau
api_list_array = []
i = 0
api_list_array.append(["#", "operationId", "METHOD", "PATH"])
for path in data['paths'].keys():
    if path != "/swagger":
        for verb in data['paths'][path].keys():
            # if 'operationId' in data['paths'][path][verb]:
            name = data['paths'][path][verb]['operationId']
            i = i+1
            # print(i,name, verb, path)
            api_list_array.append([i, name, verb, path])

#Enregistrez le tableau au format CSV
with open('list.csv', 'w') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerows(api_list_array)

C'était mon premier message. J'ai eu du mal à créer l'environnement, je vais donc en ajouter un peu plus.

Recommended Posts

J'ai essayé de créer une API list.csv avec Python à partir de swagger.yaml
J'ai essayé de créer l'API Quip
J'ai essayé d'implémenter PLSA en Python
J'ai essayé d'implémenter la permutation en Python
J'ai essayé d'implémenter PLSA dans Python 2
J'ai essayé d'utiliser l'API UnityCloudBuild de Python
J'ai essayé d'implémenter ADALINE en Python
J'ai essayé d'implémenter PPO en Python
Je veux créer une fenêtre avec Python
J'ai essayé d'implémenter TOPIC MODEL en Python
J'ai essayé d'implémenter le tri sélectif en python
J'ai essayé de représenter graphiquement les packages installés en Python
J'ai essayé d'implémenter un pseudo pachislot en Python
J'ai essayé d'implémenter le poker de Drakue en Python
J'ai essayé d'implémenter GA (algorithme génétique) en Python
J'ai essayé de résumer comment utiliser les pandas de python
J'ai essayé de créer une classe qui peut facilement sérialiser Json en Python
Les débutants en Python l'ont essayé en 3 jours, de l'installation du système d'exploitation à l'exécution de l'API Twitter
J'ai essayé de refactoriser le code du modèle publié dans "Obtenir des images de l'API Flickr avec Python" (Partie 2)
J'ai essayé de toucher Python (installation)
J'ai essayé d'implémenter un automate cellulaire unidimensionnel en Python
J'ai essayé "Comment obtenir une méthode décorée en Python"
Créez Gmail en Python sans utiliser l'API
J'ai touché l'API de Tesla
J'ai essayé d'implémenter la fonction d'envoi de courrier en Python
J'ai fait un chronomètre en utilisant tkinter avec python
J'ai essayé de changer le script python de 2.7.11 à 3.6.0 sur Windows10
J'ai essayé la notification de ligne en Python
J'ai essayé d'obtenir diverses informations de l'API codeforces
J'ai essayé d'implémenter le blackjack du jeu Trump en Python
[Python] Créer une API pour envoyer Gmail
J'ai essayé de créer un article dans Wiki.js avec SQL Alchemy
J'ai essayé de créer une API RESTful en connectant l'API rapide du framework Python explosif à MySQL.
J'ai essayé de créer une liste de nombres premiers avec python
J'ai essayé de mettre en œuvre un jeu de dilemme de prisonnier mal compris en Python
Différentes façons de créer un tableau de nombres de 1 à 10 en Python.
[Python] J'ai essayé d'obtenir diverses informations en utilisant l'API de données YouTube!
J'ai essayé de créer un linebot (implémentation)
J'ai essayé de résumer la gestion des exceptions Python
J'ai essayé de créer un linebot (préparation)
Entrée standard Python3 que j'ai essayé de résumer
Je veux utiliser jar de python
J'ai essayé d'utiliser l'optimisation bayésienne de Python
Je voulais résoudre ABC159 avec Python
J'ai essayé de toucher l'API COTOHA
J'ai créé une API Web
[Python] J'ai essayé de calculer TF-IDF régulièrement
J'ai essayé de toucher Python (syntaxe de base)
Convertir de Markdown en HTML en Python
Explication API pour toucher mastodonte de python
Connectez-vous à l'API Websocket de Coincheck depuis Python
[Python] J'ai essayé de résumer le type collectif (ensemble) d'une manière facile à comprendre.
[Bases de la science des données] J'ai essayé d'enregistrer de csv à mysql avec python
J'ai essayé d'extraire des caractères des sous-titres (OpenCV: API Google Cloud Vision)
J'ai essayé de créer un programme qui convertit les nombres hexadécimaux en nombres décimaux avec python
J'ai essayé d'implémenter la régression linéaire bayésienne par échantillonnage de Gibbs en python
J'ai essayé d'obtenir le code d'authentification de l'API Qiita avec Python.
J'ai essayé de développer un formateur qui génère des journaux Python en JSON
J'ai essayé de résoudre la recherche de priorité de profondeur (DFS) d'AtCoder en Python (résultat: TLE ...)