2017-07-24 154 views
0

我有一个奇特的情况让我们做一个背景。追加Bash脚本输出到Excel

背景:

我们有一个在内部开发的用于测试企业服务器的脚本。脚本是用Bash编写的。该脚本的神奇之处在于dmidecode命令。该脚本在Linux Mint上运行,并通过PXE进行部署。脚本的输出包含有关处理器,内存,系统板和机箱部件号等的硬件信息。根据映像引导的设备,此信息始终在变化。所有这些数据都会被写入可读格式,然后手动将其添加到Excel电子表格中。第一行: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脚本的数据。

目标:

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

+0

考虑更换2个标签'append'&'scripting'与'python'和'perl'因为这两个可以写入Excel文件。尝试并编写3行Python openpyxl来将一些静态行附加到简单的工作簿,然后您需要学习的是如何将“dmidecode”的输出读入Python变量。 –

+0

感谢您的建议,我改变了标签。 – Herrgott

回答

1

对于Excel工作表,我会使用XLSX parser来阅读电子表格和XLSX writer,根据您阅读的内容制作一个全新的电子表格。但是,你看起来在做什么。将STDIO放入CSV会不会更容易?

e.g,

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

好主意!我要重写旧的脚本,让它具有能够吐出我实际需要的数据的变量。我发布结果! – Herrgott