Learn to Read Data from CSV (IP/Config): Python Tutorial| for Configuring Cisco Devices
#CSVPython #CSVReader #CSVDictReader Playlist: Learn to Read Data From CSV Using Python https://www.youtube.com/watch?v=3XoVPJkHMFU&list=PLOocymQm7YWYpP_Qkju89vN8BykhvWO5U Playlist: Paramiko detailed explanation with Example for Network Engineers https://www.youtube.com/watch?v=A075aWJMAeM&list=PLOocymQm7YWYc73phqzbZ1S3ANrVVpUFN Playlist: Python Learning for Network Engineers https://www.youtube.com/watch?v=sG_RiytUA38&list=PLOocymQm7YWakdZkBfCRIC06fv7xQE85N This Video demonstrates how to read CSV file using Python CSV library reader and dictreader method.How to initiate ssh from paramiko and configure device from csv file. Read configuration in row or column format. Create lists and dictionaried from the csv file using python Storing the csv reader output and storing it in to an iterable format like dictionaris and list in python How to use for loop for getting data in csv row and column format Fetch configuration from a csv file and configure device using pyrhon scripts fetch ip address from the csv file and configure csv tutorial, csv reader example, csv reader and DictReader difference csv read data from row, and csv read data from column. csv to dict or csv to list cisco configuration from csv script ------------ from csv import DictReader from pprint import pprint import paramiko import time conf_dict = {} with open ('02_config_in_column.csv','r') as csv_file: csv_content = DictReader(csv_file) column_names = csv_content.fieldnames # print(column_names) for row in csv_content: for column_name in column_names: if not column_name: continue if not row[column_name]: continue if column_name not in conf_dict.keys(): conf_dict[column_name]= [] conf_dict[column_name].append(row[column_name]) session = paramiko.SSHClient() session.load_system_host_keys() key_file = paramiko.RSAKey.from_private_key_file("/home/evolve/.ssh/id_rsa") for ip in conf_dict.keys(): try: print(f"\n{'#' * 50}\nConnecting to the Device {ip}\n{'#' * 50} ") session.connect(hostname=ip, username='admin1', # password='admin', pkey=key_file, ) DEVICE_ACCESS = session.invoke_shell() print(f"\nExecuting Commands are\n{'~'*22}\n{conf_dict[ip]}") for conf in conf_dict[ip]: DEVICE_ACCESS.send(conf+'\n') time.sleep(1) output = DEVICE_ACCESS.recv(65000) print (output.decode('ascii'),end='') time.sleep(.5) session.close() except : print('Can not connect to the device') print (f"\n{'#' * 50}\nCOMMAND EXECUTION COMPLETED\n{'#' * 50}\n") ---------------------------------- from csv import reader from pprint import pprint import paramiko import time conf_dict = {} with open("01_config_in_row.csv", "r") as csv_file: csv_content = reader(csv_file) for device in csv_content: if not device[0]: continue if device[0] not in conf_dict.keys(): conf_dict[device[0]] = [] n = len(device) for conf in range(1,n): if not device[conf]: continue conf_dict[device[0]].append(device[conf]) session = paramiko.SSHClient() session.load_system_host_keys() ------------------ conf Data conf_dict={'192.168.0.50': ['terminal len 0', 'config t', 'int gi1', 'no shut', 'exit', 'exit', 'show ip int brie', 'show run int gi1'], '192.168.0.51': ['terminal len 0', 'config t', 'int lo0', 'ip add 10.0.0.1 255.255.255.0', 'int lo1', 'ip add 11.0.0.1 255.255.255.0', 'do show run int loopback0', 'do show run int loopback1'], '192.168.0.53': ['terminal len 0', 'config t', 'int gi3', 'no shut'], 'csr1.test.lab': ['terminal len 0', 'config t', 'int gi2', 'no shut', 'ip address 2.2.2.2 255.255.255.0', 'exit', 'exit', 'show ip int brie', 'show run int gi2']} -------------------
Download
0 formatsNo download links available.