【问题标题】:Appending Bash Script Output To Excel将 Bash 脚本输出附加到 Excel
【发布时间】:2023-03-16 17:10:01
【问题描述】:

我有一个特殊的情况,让我们做一个背景。

背景:

我们有一个内部开发的脚本,用于测试企业服务器。该脚本是用 Bash 编写的。脚本的神奇之处在于 dmidecode 命令。该脚本在 Linux Mint 上运行,并通过 PXE 进行部署。脚本的输出包含有关处理器、内存、系统板和机箱部件号等的硬件信息。这些信息总是根据启动映像的设备而变化。然后将所有这些数据 grep 成可读格式,然后手动添加到 Excel 电子表格中。 Excel 工作表的分解如下第 1 行:A1(资产编号)、B1(数量。“始终为 1”)、C1(制造商)、D1(型号)、E1(零件编号)、F1(序列号)、G1 (RAM (Mb)),H1(CPU 数量),L1(CPU 速度(GHZ))

示例数据 列名:

列数据: 第 2 行:6112、1、HP、Proliant DL580 G2、325134-001、USE247ML97、1024、2、2.8

所以每一行代表一个单独的服务器,列包含来自我们之前提到的 bash 脚本的数据。

目标:

好的,所以我的目标是让 bash 脚本的输出自动附加到存储在本地 CIFS 文件服务器上的现有工作表中。由于脚本是在 Linux 上启动的,因此 Powershell 不是一个可行的选择。 我认为 Openpyxl 可以完成这项工作,但我不知道解决这个问题的最佳实践。我知道我将无法修改现有工作簿。鉴于此,我正在考虑将现有文档加载到内存中并用相同的文件名覆盖。另外,我看到的所有 Openpyxl 教程似乎都有静态数据,我没有这种奢侈。这甚至是可能的还是只是一个微妙的白日梦?

【问题讨论】:

  • 考虑用pythonperl替换appendscripting这两个标签,因为这两个标签都可以写Excel文件。尝试编写 3 行 Python openpyxl 将几个静态行附加到一个简单的工作簿中,然后您需要学习的是如何将 dmidecode 的输出读入 Python 变量。
  • 感谢您的建议,我更改了标签。

标签: python excel bash perl openpyxl


【解决方案1】:

对于 Excel 表格,我将使用 XLSX parser 阅读电子表格并使用 XLSX writer 根据您阅读的内容制作一个全新的电子表格。但是,对于您似乎正在做的事情。将 STDIO 放入 CSV 不是更容易吗?

例如,

echo $VAR , $VARB , $VARC >> ~/servers.csv

【讨论】:

  • 好主意!我要重写旧脚本,让变量吐出我真正需要的数据。我会发布结果!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-16
  • 2023-03-03
  • 2016-06-07
  • 2016-04-28
  • 1970-01-01
  • 1970-01-01
  • 2012-04-11
相关资源
最近更新 更多