【问题标题】:Python to generate output ready for ExcelPython 为 Excel 生成准备好的输出
【发布时间】:2009-12-08 22:36:28
【问题描述】:

我有一个 Python 脚本从一些远程网络设备收集信息。输出可能是 20 到 1000 行文本。然后它现在进入我本地 PC 上的 excel。

现在对这个 Linux 设备的访问很复杂,一个 citrix 会话到远程 Windows 服务器,然后 ssh 到世界另一端的 Linux 设备。没有 ftp、scp 或类似的东西,所以我无法在 Linux 设备上生成 excel 并将其传输到本地。获取信息的唯一方法是从 ssh 窗口复制/粘贴到本地计算机并对其进行后处理

我的问题是生成最好的格式(从用户的角度,因为其他人会使用它)? 1.现在(空格和制表符),2.重新格式化为 csv 或 3.转换为 xml

【问题讨论】:

    标签: python xml excel csv


    【解决方案1】:

    CSV 比“复制和粘贴传输”下的当前格式更可靠——空格和制表符很容易混淆,而逗号和双引号则不然。 Python 标准库的 csv 模块可以很容易地可靠地生成良好的 CSV 输出。

    【讨论】:

    • 好的,谢谢 - 迁移到 xml 确实没有任何优势,但不坚持制表符/空格的好处很多
    【解决方案2】:

    将其重新格式化为 CSV。这很容易做到,可读性很强,并且可以被大量电子表格软件读取。

    【讨论】:

      【解决方案3】:

      你确定复制粘贴是唯一的方法吗?如果您可以交互地 ssh 到 Linux 设备,那么您还可以 ssh 加上运行命令并重定向输出。所以:

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

      这根本不涉及任何手动复制和粘贴。

      【讨论】:

      • 我在本地Linux机器上生成输出,就像你上面说的那样。那时我在盒子上有文件 - 只能通过 citrix 访问 - 并且 scp/ftp 等被拒绝。事实上我无法在 citrix 服务器上创建文件
      • 我明白你在说什么(尤其是关于无法在 citrix 服务器上创建文件,这是一个不幸的限制)。但是,请注意,上面示例中的重定向适用于您运行 ssh 的机器,not 适用于 remote-linux-box。在远程 linux 机器上重定向需要在重定向周围加上引号: ssh remote-linux-box "command-to-run >output-file"
      • 啊对不起,我以为你是在 linux box 命令上的意思> txtfile 我就是这样做的,然后 cat 文件,复制和粘贴。这真是一针见血。我必须在本地找一个人来安装 pexpect!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-22
      • 1970-01-01
      • 2012-04-02
      相关资源
      最近更新 更多