2009-12-08 70 views
0

我有一個Python腳本從一些遠程網絡設備收集信息。輸出可能是20到1000行文本。然後,我現在在本地PC上進入excel。Python爲生成輸出準備Excel

現在,訪問這個Linux設備變得複雜起來,一個到遠程Windows服務器的citrix會話然後ssh到Linux設備到世界各地一半。沒有ftp,scp或類似的東西,所以我無法在Linux設備上生成excel並將其轉移到本地。獲取信息的唯一方法是從ssh窗口複製/粘貼到本地機器並對其進行後期處理

我的問題是最好的(從用戶的角度來看,其他人會使用它)格式來生成? 1.現在是空格(空格&選項卡),2.格式爲csv或3.convert爲xml

回答

7

CSV在複製和粘貼傳輸下比您當前的格式更加強大 - 空格和製表符可以輕鬆地弄糊塗了,逗號和雙引號都沒有。 Python標準庫的csv模塊使得生成良好的CSV輸出變得非常容易。

+0

好的感謝 - 沒有任何優勢轉移到xml,但不堅持製表符/空格的許多優點 – user225882 2009-12-08 22:58:55

0

將其重新格式化爲CSV。它很容易做到,相當人性化,並且可以通過大量電子表格軟件讀取。

0

您確定複製粘貼是唯一的方法嗎?如果你可以交互地SSH到Linux設備,那麼你也可以通過ssh plus運行一個命令並重定向輸出。所以:

ssh remote-linux-box command-to-run >output-file 

這不涉及任何手動複製和粘貼。

+1

我如上所述在本地在Linux上生成輸出。那時我在盒子上有文件 - 只能通過citrix訪問 - 並且scp/ftp等被拒絕。事實上,我無法在citrix服務器上創建文件 – user225882 2009-12-08 22:51:41

+0

我明白你的意思(特別是關於不能在citrix服務器上創建文件,這是一個不幸的限制)。但是,請注意,上例中的重定向適用於您在其上運行ssh的框,* not *到遠程linux-box。重定向遠程linux盒子需要引用重定向:ssh remote-linux-box「command-to-run> output-file」 – 2009-12-08 23:05:48

+0

對不起,我以爲你是在Linux盒子命令> txtfile上的意思,我就是這麼做的然後捕獲該文件,複製並粘貼。這真的被釘死了。我必須得到一個本地人來安裝pexpect! – user225882 2009-12-08 23:11:12