2017-10-12 3 views
1

Je dois faire des changements en masse dans la boîte F5 en utilisant python, j'ai syntex pour créer un seul Virtual à partir de python, mais je veux le faire pour environ 300 +, où les entrées sont en .CSV avec 10 + colonnes. 300 rangées.Python Importer CSV en python et créer mutilple VIP sur F5

  • Ainsi, les commandes doit aller chercher les données de la rangée 1 avec 10 des données
  • Créer le VIP à l'unité à la case f5, puis à nouveau mêmes commandes fonction a pour extraire des données à partir de la deuxième rangée
  • si la ligne est vide, il doit arrêter et donner un statut complété
  • si la commande a échoué dans une rangée, juste un certain message doit mettre fin la ligne, puis passez à la ligne suivante

P ython Commande pour la création unique VIP

myvirtual = bigip.ltm.virtuals.virtual.create(name=["name"], 
       description=["description"], 
       destination="%s:%s" % (["ip"], ["port"]), 
       ipProtocol=["ipProtocol"], [pool][1]=["pool"]) 

format CSV

Row name description destination IP destination Port  ipProtocol pool 

1 Serveur 1 Serveur 1 172.61.64.1 80 TCp TCp

2 Server 2 Server 2 172.61.64.2 80 TCp TCp

3 Serveur 3 Serveur 3 172.61.64.3 80 TCp TCp

4 Serveur 4 Serveur 4 172 .61.64.4 80 TCp TCp

Alors, ma commande doit créer 4 serveurs virtuels à partir d'un fichier CSV, chacun pour une ligne J'utilise Python 3 et l'importation CSV

s'il vous plaît une aide, je suis new to python

+0

Toute une aide ici, je ne reçois pas où? –

Répondre

0

Vous pouvez faire une boucle dans votre fichier en utilisant le module CSV de Python (Vous n'êtes pas sûr de la syntaxe du module "bigip", mais vous pouvez déboguer de l'erreur sur la console, le cas échéant). lecture chaque ligne (« vs ») comme un dictionnaire vous permettra de référencer tous les champs par le nom de la colonne:

import csv 
with open('path-to-your-file.csv', 'rb') as f: 
    for vs in csv.DictReader(f): 
     try: 
      bigip.ltm.virtuals.virtual.create(
       name=vs['name'], 
       description=vs['description'], 
       destination="%s:%s" % (vs['destination IP'], vs['destination Port']), 
       ipProtocol=vs['ipProtocol'], 
       pool=vs['pool'] 
      ) 
     except Exception as e: 
      print e 
+0

Merci, ça fonctionne bien. –