Ich bin neu bei Python und habe Probleme mit der Formatierung der Ausgabe, ähnlich wie in csv.Python - Formatierung der Ausgabe mit unterschiedlicher Anzahl von Leerzeichen
Der folgende Code führt ein expect-Skript aus, das Spalten mit einer unterschiedlichen Anzahl von Leerzeichen trennt.
out = subprocess.check_output([get_script, "|", "grep Up"], shell=True
print out
1501 4122:1501 Mesh 1.2.3.4 Up 262075 261927
1502 4121:1502 Mesh 1.2.3.5 Up 262089 261552
1502 4122:1502 Spok 1.2.3.6 Up 262074 261784
701000703 4121:701000703 Mesh 1.2.3.7 Up 262081 261356
Was ich will ist, alle Leerzeichen zu entfernen und ein "," Trennzeichen hinzuzufügen.
1501,4122:1501,Mesh,1.2.3.4,Up,262075,261927
1502,4121:1502,Mesh,1.2.3.5,Up,262089,261552
1502,4122:1502,Spok,1.2.3.6,Up,262074,261784
701000703,4121:701000703,Mesh,1.2.3.7,Up,262081,261356
Ich kann dies mit awk -v OFS=',' '{$1=$1};1'
über awk erreichen, aber ich kämpfen, um eine Python-Äquivalent zu finden.
Jede Anleitung wird sehr geschätzt!
Verwenden Sie 'str' nicht als Variablennamen. – styvane
Was passiert, wenn einige Felder eingebettete Leerzeichen enthalten? – PaulMcG
Danke Ich mag diesen Ansatz mit Regex. Klappt wunderbar! In diesem speziellen Fall gibt es keine eingebetteten Bereiche, um die Sie sich kümmern müssen. – joefernandez3