【发布时间】: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 教程似乎都有静态数据,我没有这种奢侈。这甚至是可能的还是只是一个微妙的白日梦?
【问题讨论】:
-
考虑用
python和perl替换append和scripting这两个标签,因为这两个标签都可以写Excel文件。尝试编写 3 行 Python openpyxl 将几个静态行附加到一个简单的工作簿中,然后您需要学习的是如何将dmidecode的输出读入 Python 变量。 -
感谢您的建议,我更改了标签。
标签: python excel bash perl openpyxl