<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: python export lldp to XLS new sheet per switch in Controllers</title>
    <link>https://community.cisco.com/t5/controllers/python-export-lldp-to-xls-new-sheet-per-switch/m-p/4167569#M2137</link>
    <description>&lt;P&gt;Shoot - looks like the system stripped it.&lt;/P&gt;&lt;P&gt;I should have known better and put it up on a repo to begin with. Sorry about that!&lt;BR /&gt;&lt;A href="https://github.com/cldeluna/Cisco_Community_Solutions/blob/main/save2xl_tabs.py" target="_blank"&gt;https://github.com/cldeluna/Cisco_Community_Solutions/blob/main/save2xl_tabs.py&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 15 Oct 2020 14:06:21 GMT</pubDate>
    <dc:creator>Claudia de Luna</dc:creator>
    <dc:date>2020-10-15T14:06:21Z</dc:date>
    <item>
      <title>python export lldp to XLS new sheet per switch</title>
      <link>https://community.cisco.com/t5/controllers/python-export-lldp-to-xls-new-sheet-per-switch/m-p/4165218#M2134</link>
      <description>&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;here is code that I have working to export 1 switch at a time.&amp;nbsp; I am looking to export the lldp neighbor for over 60 switches to one excel file with multiple sheets with.&amp;nbsp; I am wanting the sheet names to match the switch names.&amp;nbsp; Is this possible and would anyone have any examples?&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;thank you&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;SW1 =&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'device_type'&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'cisco_ios'&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'host'&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'192.168.1.2'&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'username'&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt;'cisco&lt;/SPAN&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'password'&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'cisco'&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;SW2 =&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'device_type'&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'cisco_ios'&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'host'&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'192.168.1.3'&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'username'&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt;'cisco&lt;/SPAN&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'password'&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'cisco'&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;def&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;main&lt;/SPAN&gt;&lt;SPAN&gt;():&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;os.environ[&lt;/SPAN&gt;&lt;SPAN&gt;"NET_TEXTFSM"&lt;/SPAN&gt;&lt;SPAN&gt;]&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"./ntc-templates/templates"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;list&amp;nbsp;of&amp;nbsp;all&amp;nbsp;devices&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;all_devices&amp;nbsp;=&amp;nbsp;[SW1, SW2]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;commands&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;start_time&amp;nbsp;=&amp;nbsp;datetime.now()&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;a_device&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;in&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;all_devices:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;net_connect&amp;nbsp;=&amp;nbsp;ConnectHandler(**a_device)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;output&amp;nbsp;=&amp;nbsp;net_connect.send_command("show&amp;nbsp;run&amp;nbsp;|&amp;nbsp;inc&amp;nbsp;hostname",&amp;nbsp;delay_factor=3)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;the&amp;nbsp;show&amp;nbsp;run&amp;nbsp;|&amp;nbsp;inc&amp;nbsp;hostname&amp;nbsp;portion&amp;nbsp;is&amp;nbsp;not&amp;nbsp;working&amp;nbsp;so&amp;nbsp;I&amp;nbsp;commented&amp;nbsp;it&amp;nbsp;out&amp;nbsp;for&amp;nbsp;now&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(output)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lldp_neighbor&amp;nbsp;=&amp;nbsp;net_connect.send_command(&lt;/SPAN&gt;&lt;SPAN&gt;"show&amp;nbsp;lldp&amp;nbsp;neighbor"&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;use_textfsm&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;True&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f"\n\n-----------------------Device&amp;nbsp;{a_device['host']}----------------------------")&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(lldp_neighbor)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;len&lt;/SPAN&gt;&lt;SPAN&gt;(lldp_neighbor))&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;line&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;in&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;lldp_neighbor:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(json.dumps(line,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;indent&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;))&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lldp_data&amp;nbsp;=&amp;nbsp;{&lt;/SPAN&gt;&lt;SPAN&gt;'NEIGHBOR'&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;[entry[&lt;/SPAN&gt;&lt;SPAN&gt;'neighbor'&lt;/SPAN&gt;&lt;SPAN&gt;]&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;entry&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;in&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;lldp_neighbor],&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'LOCAL_INTERFACE'&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;[entry[&lt;/SPAN&gt;&lt;SPAN&gt;'local_interface'&lt;/SPAN&gt;&lt;SPAN&gt;]&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;entry&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;in&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;lldp_neighbor],&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'CAPABILITIES'&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;[entry[&lt;/SPAN&gt;&lt;SPAN&gt;'capabilities'&lt;/SPAN&gt;&lt;SPAN&gt;]&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;entry&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;in&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;lldp_neighbor],&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'NEIGHBOR_INTERFACE'&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;[entry[&lt;/SPAN&gt;&lt;SPAN&gt;'neighbor_interface'&lt;/SPAN&gt;&lt;SPAN&gt;]&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;entry&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;in&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;lldp_neighbor],&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;df&amp;nbsp;=&amp;nbsp;pd.DataFrame(lldp_data,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;columns&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;list&lt;/SPAN&gt;&lt;SPAN&gt;(lldp_data.keys()))&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(df.head())&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;df.to_excel(&lt;/SPAN&gt;&lt;SPAN&gt;'LLDP_Neighbor.xlsx'&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Standard&amp;nbsp;call&amp;nbsp;to&amp;nbsp;the&amp;nbsp;main()&amp;nbsp;function.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;__name__&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;==&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'__main__'&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;parser&amp;nbsp;=&amp;nbsp;argparse.ArgumentParser(&lt;/SPAN&gt;&lt;SPAN&gt;description&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;"Script&amp;nbsp;Description"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;epilog&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;"Usage:&amp;nbsp;'&amp;nbsp;python&amp;nbsp;ccom'&amp;nbsp;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;arguments&amp;nbsp;=&amp;nbsp;parser.parse_args()&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;main()&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 12 Oct 2020 14:21:37 GMT</pubDate>
      <guid>https://community.cisco.com/t5/controllers/python-export-lldp-to-xls-new-sheet-per-switch/m-p/4165218#M2134</guid>
      <dc:creator>Steven King</dc:creator>
      <dc:date>2020-10-12T14:21:37Z</dc:date>
    </item>
    <item>
      <title>Re: python export lldp to XLS new sheet per switch</title>
      <link>https://community.cisco.com/t5/controllers/python-export-lldp-to-xls-new-sheet-per-switch/m-p/4166713#M2135</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.cisco.com/t5/user/viewprofilepage/user-id/335939"&gt;@Steven King&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Short Answer for your code. &amp;nbsp;As usual Pandas has a really easy way to do this.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You need to get your hostname SW1, SW2 etc into a variable so you can use that variable as the tab name. &amp;nbsp;&lt;/P&gt;&lt;P&gt;When you are done processing all your switches you give the save() method to save your Excel Writer object. That part is outside your "processing" loop if that makes sense. &amp;nbsp;I've attached the resulting MAC_TABLES.xlsx as an example of what you get.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;    df.to_excel('mac_table.xlsx'). &amp;lt;--Your code leaves off here

    # Saving to a specific Excel Sheet or Tab

    # First create a Pandas Excel Writer "object"
    xlwriter_object = pd.ExcelWriter('MAC_TABLES.xlsx')

    # Save the data frame to a specific tab or sheet in your writer object
    df.to_excel(xlwriter_object, hostname)

    # Save the object to a file
    xlwriter_object.save()&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Longer more generic answer:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You've got the "get a response back from a network device" down so I'm focusing on the Excel part.&lt;/P&gt;&lt;P&gt;I'm using the openpyxl module.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've saved the full script to a text file so I could attach it to this message. &amp;nbsp;Just change the extension to .py.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've put steps into functions so you can clearly see what is happening (also better code).&lt;/P&gt;&lt;P&gt;- create_xlwkbk&lt;/P&gt;&lt;P&gt;- create_xltab&lt;/P&gt;&lt;P&gt;- open_xlwkbk&lt;/P&gt;&lt;P&gt;- save2tab&lt;/P&gt;&lt;P&gt;- save_xlwkbk&lt;/P&gt;&lt;P&gt;- get_show_output &amp;lt;- this can be replaced with your existing code&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the main part of the script that uses all the above functions.&lt;/P&gt;&lt;PRE&gt;def main():

    datestamp = datetime.date.today()
    print(f"===== Date is {datestamp} ====")

    # Define an Excel Workbook filename based on the name passed as an argument in the command line
    # python save2xl_tabs.py -f CLOD
    # the CLI command above creates a file CLOD_YYYY-MM-DD.xlsx
    # or using the default file name DEFAULT
    xlfilename = f"{arguments.filename}_{datestamp}.xlsx"

    # Note on the functions. Many have an optional parameter "debug" that just prints information when set to True
    # It is set to False by default but sometimes its handy to know where you are in the script

    # Create an Excl Workbook Object
    xobj = create_xlwkbk(debug=True)

    # Add a Tab to the Excel Workbook Ojbect
    create_xltab(xobj, "TEST", debug=True)

    # Save data to a Tab
    # Sample output string
    output = get_show_output()

    # Take the string response and split by lines
    list_of_output = output.splitlines()

    # Send the raw string to be saved to a tab called RAW Output
    save2tab(xobj,"RAW Output", output, debug=True)
    # Send the list of lines to be saved to a tab called LIST Output
    save2tab(xobj,"LIST Output", list_of_output, debug=True)

    # Save the Excel Workbook Object to Disk
    res, filepath = save_xlwkbk(xobj, xlfilename, debug=True)

    # Open the saved Workbook back up again and display the Tabs
    wkbk = open_xlwkbk(filepath)
    print(f"Saved Excel file {filepath} \n  has the following Tabs: \n\t{wkbk.sheetnames}\n\n")&lt;/PRE&gt;&lt;P&gt;The function you want to look at first is the save2tab:&lt;/P&gt;&lt;P&gt;Ive tried to put comments throughout to try to clarify what is going on.&lt;/P&gt;&lt;PRE&gt;def save2tab(xlobj, xltab_name, data_list, debug=False):
    """
    Function to save data to the provided tab
    Funciton checks to see if the tab already exists and if it does not it creates it.
    :param xl0bj:  Excel Workbook Object
    :param xltab_name:  Excel Workbook tab or sheet to save data to
    :param data_list:  Data to save to specified tab or sheet.  This should be a list of lists
    :return:
    """
    if debug: print(f"\t--- Saving Data to Tab {xltab_name}.\n")
    if xltab_name not in xlobj.sheetnames:
        create_xltab(xlobj, xltab_name)

    ws = xlobj[xltab_name]

    # The tricky part is manipulating the data into the cells
    # In this block first we check to see if "data_list" is actually a list
    if type(data_list) == list:
        # then we have to check to see if what is in each row is a list or a string
        for row in data_list:
            if type(row) == list:
                # the append method expects an iterable (list, tuple)
                ws.append(row)
            elif type(row) == str:
                # if its a string then you want to cast is as a list otherwise you will get a letter in each cell
                ws.append([row])
    # if data-list is actually a string we just put the string in the first cell.
    # This is not what you want so you will be in the business of manipulating your text as above
    elif type(data_list) == str:
        ws['A1'] = data_list&lt;/PRE&gt;&lt;P&gt;Here is an example with all the debugging print statements enabled (set to True):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;(netmiko38) claudia@Claudias-iMac netmiko38 % python save2xl_tabs.py -f EXAMPLE4STEVEN
===== Date is 2020-10-14 ====
        --- Creating an Excel Workbook Object.

        --- Creating Tab TEST in Excel file. 

        --- Dummy function to load test show command data.

        --- Saving Data to Tab RAW Output.

        --- Saving Data to Tab LIST Output.

        --- Saving the Workbook Object as EXAMPLE4STEVEN_2020-10-14.xlsx to path /Users/claudia/Dropbox (Indigo Wire Networks)/scripts/python/2020/netmiko38.

Saved Excel file /Users/claudia/Dropbox (Indigo Wire Networks)/scripts/python/2020/netmiko38/EXAMPLE4STEVEN_2020-10-14.xlsx 
  has the following Tabs: 
        ['Sheet', 'TEST', 'RAW Output', 'LIST Output']&lt;/PRE&gt;&lt;P&gt;The tricky part is getting from the RAW Output which I don't think you want to the LIST Output which may be closer to what you are looking for.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've also attached the resulting Excel file.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope this helps &amp;amp; reach out if you have any questions!&lt;/P&gt;</description>
      <pubDate>Wed, 14 Oct 2020 13:54:27 GMT</pubDate>
      <guid>https://community.cisco.com/t5/controllers/python-export-lldp-to-xls-new-sheet-per-switch/m-p/4166713#M2135</guid>
      <dc:creator>Claudia de Luna</dc:creator>
      <dc:date>2020-10-14T13:54:27Z</dc:date>
    </item>
    <item>
      <title>Re: python export lldp to XLS new sheet per switch</title>
      <link>https://community.cisco.com/t5/controllers/python-export-lldp-to-xls-new-sheet-per-switch/m-p/4167515#M2136</link>
      <description>&lt;P&gt;thank you Claudia&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I will give it a shot.&lt;/P&gt;&lt;P&gt;I dont see the txt document mentioned above.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you again&amp;nbsp;&lt;/P&gt;&lt;P&gt;Steven&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 15 Oct 2020 13:14:31 GMT</pubDate>
      <guid>https://community.cisco.com/t5/controllers/python-export-lldp-to-xls-new-sheet-per-switch/m-p/4167515#M2136</guid>
      <dc:creator>Steven King</dc:creator>
      <dc:date>2020-10-15T13:14:31Z</dc:date>
    </item>
    <item>
      <title>Re: python export lldp to XLS new sheet per switch</title>
      <link>https://community.cisco.com/t5/controllers/python-export-lldp-to-xls-new-sheet-per-switch/m-p/4167569#M2137</link>
      <description>&lt;P&gt;Shoot - looks like the system stripped it.&lt;/P&gt;&lt;P&gt;I should have known better and put it up on a repo to begin with. Sorry about that!&lt;BR /&gt;&lt;A href="https://github.com/cldeluna/Cisco_Community_Solutions/blob/main/save2xl_tabs.py" target="_blank"&gt;https://github.com/cldeluna/Cisco_Community_Solutions/blob/main/save2xl_tabs.py&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 15 Oct 2020 14:06:21 GMT</pubDate>
      <guid>https://community.cisco.com/t5/controllers/python-export-lldp-to-xls-new-sheet-per-switch/m-p/4167569#M2137</guid>
      <dc:creator>Claudia de Luna</dc:creator>
      <dc:date>2020-10-15T14:06:21Z</dc:date>
    </item>
  </channel>
</rss>

