2009-12-08 55 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