Ich habe versucht, die Liste der Drehzahlen des SSH-Anmeldeziels mit Python + openpyxl in einer Excel-Tabelle auszugeben.

Was ist openpyxl?

openpyxl ist eine Bibliothek zum Lesen und Schreiben von * .xlsx in Python.

A Python library to read/write Excel 2010 xlsx/xlsm files https://openpyxl.readthedocs.org/en/default/

Es ist nicht sehr interessant, es alleine zu verwenden, aber einige Leute sind möglicherweise froh, die Konfigurationsinformationen des SSH-Anmeldeziels abrufen und automatisch das Parameterblatt von Excel generieren zu können. Deshalb habe ich es ein wenig versucht.

Versuchen Sie, Code zu schreiben

Hier ist der Beispielcode, der durch Ausprobieren der Funktionen erstellt wurde, die einzeln verwendet werden können.

createlPackageList.py


import ssh
from openpyxl import Workbook
from openpyxl.styles.borders import Side, Border
from openpyxl.styles import Style, PatternFill

hostname = 'foo.bar.com'
username = 'root'
password = 'XXXXXXXX'
port = 22

client = ssh.SSHClient()
client.set_missing_host_key_policy(ssh.AutoAddPolicy())
client.connect(hostname, username = username, password = password, port = port)
stdin, stdout, stderr = client.exec_command('rpm -qa --queryformat="%{NAME},%{VERSION},%{RELEASE},%{ARCH},%{GROUP}\n" | sort')

wb = Workbook()
ws = wb.active

ws.append(['Name', 'Version', 'Release', 'Architecture', 'Group'])

for line in stdout.read().split('\n'):
    ws.append(list(line.split(',')))

thin_border = Border(left = Side(style = 'thin'), 
                     right = Side(style = 'thin'), 
                     top = Side(style = 'thin'), 
                     bottom = Side(style = 'thin'))
 
my_style = Style(border = thin_border)

for _row in ws.iter_rows('A1:E' + str(ws.max_row)):
    for _cell in _row:
        _cell.style = my_style

lightblueFill = PatternFill(start_color = '0000FFFF',
                      end_color = '0000FFFF',
                      fill_type = 'solid')

for _row in ws.iter_rows('A1:E1'):
    for _cell in _row:
        _cell.fill = lightblueFill

ws.column_dimensions['A'].width = 45
ws.column_dimensions['B'].width = 15
ws.column_dimensions['C'].width = 28
ws.column_dimensions['E'].width = 30

wb.save("output.xlsx")

Da openpyxl Excel-Zeilen intern als Liste behandelt, lesen wir hier das Ausführungsergebnis (stdout) von rpm -qa… | sort, das am SSH-Anmeldeziel zeilenweise ausgeführt wird, und teilen es spaltenweise in die Liste auf. Sie können es konvertieren und an das Arbeitsblatt ws der Workbook-Klasse anhängen.

Sie können im Styles-Modul auch Zellen umrahmen, Farben angeben oder die Spaltenbreite ändern.

Generierte Excel-Datei

Die folgende Excel-Datei wird durch Ausführen des obigen Skripts erstellt. Natürlich wird nach dem Generieren der Datei keine künstliche Bearbeitung durchgeführt.

openpyxlの画面出力例_20151202_002.png

Wenn Sie eine Bibliothek haben, die mit Python einfach zu verwenden ist, ist dies sehr praktisch, da Sie dies problemlos mit Dutzenden von Codezeilen tun können.

Umgebung: Bestätigt mit Python 2.7.9 + openpyxl 2.3.1.

Recommended Posts

Ich habe versucht, die Liste der Drehzahlen des SSH-Anmeldeziels mit Python + openpyxl in einer Excel-Tabelle auszugeben.
Ich möchte den Anfang des nächsten Monats mit Python ausgeben
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.
Ich habe versucht, die Standardrolle neuer Mitarbeiter mit Python zu optimieren
Ich habe versucht, die Filminformationen der TMDb-API mit Python abzurufen
Ich habe versucht, LLVM IR mit Python auszugeben
Ich habe versucht, die Tweets von JAWS DAYS 2017 mit Python + ELK einfach zu visualisieren
Ich habe versucht, die Literatur des neuen Corona-Virus mit Python automatisch an LINE zu senden
Ich habe versucht, eine CSV-Datei mit Python zu berühren
Ich habe versucht, Soma Cube mit Python zu lösen
Ich habe versucht, künstliches Perzeptron mit Python zu implementieren
Ich habe versucht, das Problem mit Python Vol.1 zu lösen
Ich habe versucht, die String-Operationen von Python zusammenzufassen
Ich habe untersucht, wie der Arbeitsablauf mit Excel x Python optimiert werden kann
Ich habe untersucht, wie der Arbeitsablauf mit Excel x Python ④ optimiert werden kann
Ich habe versucht herauszufinden, wie der Arbeitsablauf mit Excel x Python optimiert werden kann
Ich habe versucht, das Artikel-Update des Livedoor-Blogs mit Python und Selen zu automatisieren.
Ich habe untersucht, wie der Arbeitsablauf mit Excel x Python optimiert werden kann
Ich habe untersucht, wie der Arbeitsablauf mit Excel x Python optimiert werden kann
Ich habe versucht, die Verarbeitungsgeschwindigkeit mit dplyr von R und pandas von Python zu vergleichen
Beim 15. Offline-Echtzeitversuch habe ich versucht, das Problem des Schreibens mit Python zu lösen
Ich habe versucht, das Bild mit Python + OpenCV "gammakorrektur" zu machen
Ich habe versucht, mit TensorFlow den Durchschnitt mehrerer Spalten zu ermitteln
[Python] Ich habe versucht, die folgende Beziehung von Twitter zu visualisieren
Anhängen an den Python-Prozess des SSH-Ziels und Debuggen
Ich habe versucht, das Problem von F02 zu lösen, wie man mit Python offline in Echtzeit schreibt
Ich schrieb einen Test in "Ich habe versucht, die Wahrscheinlichkeit eines Bingospiels mit Python zu simulieren".
Ich habe versucht, das Ranking des Qiita-Adventskalenders mit Python zu kratzen
Ich habe versucht, die Anfängerausgabe des Ameisenbuchs mit Python zu lösen
Ich habe versucht, den Index der Liste mithilfe der Aufzählungsfunktion abzurufen
Ich habe versucht, die Bewässerung des Pflanzgefäßes mit Raspberry Pi zu automatisieren
Geben Sie den Inhalt von ~ .xlsx im Ordner mit Python in HTML aus
Ich habe versucht zu beheben "Ich habe versucht, die Wahrscheinlichkeit eines Bingospiels mit Python zu simulieren"
Ich habe versucht, die Größe des logischen Volumes mit LVM zu erweitern
Ich habe versucht, automatisch Bilder von Kanna Hashimoto mit Python zu sammeln! !!
Ich habe versucht, mit Python + OpenCV eine Bildähnlichkeitsfunktion zu erstellen
PhytoMine-I hat versucht, mit Python die genetischen Informationen der Pflanze zu erhalten
Ich habe versucht herauszufinden, wie ich den Arbeitsablauf mit Excel × Python, meiner Artikelzusammenfassung ★, optimieren kann
Ich möchte mit Python eine beliebige URL aus der Zeichenfolge der HTML-Quelle extrahieren
Ich habe versucht, die Sprecheridentifikation mithilfe der Sprechererkennungs-API von Azure Cognitive Services mit Python zu überprüfen. # 1
Ich habe versucht, die Sprecheridentifikation mithilfe der Sprechererkennungs-API von Azure Cognitive Services in Python zu überprüfen. # 2
[Python] Ich habe versucht, das Preisgeld von "ONE PIECE" über 100 Millionen Zeichen mit matplotlib zu visualisieren.
Ich habe versucht, die erste Frage der Mathematik-Aufnahmeprüfung 2019 der Universität Tokio mit Python Sympy zu lösen
[Python] Ich habe versucht, die Nacht der Galaxienbahn mit WordCloud zu visualisieren!
[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung
Ich habe versucht, die Bewegungen von Wiire-Playern automatisch mit Software zu extrahieren
(Python) Ich habe versucht, 1 Million Hände zu analysieren ~ Ich habe versucht, die Anzahl der AA ~ zu schätzen
Ich möchte einen Teil der Excel-Zeichenfolge mit Python einfärben
Ich habe es mit den Top 100 PyPI-Paketen versucht.> Ich habe versucht, die auf Python installierten Pakete grafisch darzustellen
Ich habe versucht, die Beschleunigung von Python durch Cython zu verifizieren und zu analysieren
Ich habe versucht, die Negativität von Nono Morikubo zu analysieren. [Vergleiche mit Posipa]
Ich habe versucht, den Text des Romans "Wetterkind" mit Word Cloud zu visualisieren
Ich habe die Geschwindigkeit der Listeneinschlussnotation für und während mit Python2.7 gemessen.