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.
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.
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.
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