首页 > 解决方案 > 根据服务器名称将多个 csv 数据附加到单个 csv 文件

问题描述

目前我有多个基于服务名称的服务器的 csv 文件。

每个服务细节都有不同的文件头。我需要将它们合并为一个

下面是数据

sum_devas1.devad.myworldpanel.comcheck_check_cpu.csv

idle_AVERAGE    idle_MAX    idle_MIN    iowait_AVERAGE  iowait_MAX  iowait_MIN  irq_AVERAGE irq_MAX irq_MIN nice_AVERAGE    nice_MAX    nice_MIN    softirq_AVERAGE softirq_MAX softirq_MIN system_AVERAGE  system_MAX  system_MIN  user_AVERAGE    user_MAX    user_MIN    ServerName  Start Time  End Time
16.35289038 16.4473816  16.1616047  0.063374356 0.098422523 0.050224161 0   0   0   1.22E-05    7.27E-05    0   0.000824397 0.002787119 3.11E-05    0.07319389  0.120766931 0.040373169 0.106745959 0.232386044 0.052443433 devas1.devad.myworldpanel.com   1597044600  1599633000

sum_devas1.devad.myworldpanel.comcheck_interface_eth0.csv

rx_AVERAGE  rx_MAX  rx_MIN  tx_AVERAGE  tx_MAX  tx_MIN  ServerName  Start Time  End Time
20538.44384 73426.92533 1886.881034 6355.250931 20152.27358 1817.357994 devas1.devad.myworldpanel.com   1597044600  1599633000

sum_devetl1.devad.myworldpanel.comcheck_check_cpu.csv

idle_AVERAGE    idle_MAX    idle_MIN    iowait_AVERAGE  iowait_MAX  iowait_MIN  irq_AVERAGE irq_MAX irq_MIN nice_AVERAGE    nice_MAX    nice_MIN    softirq_AVERAGE softirq_MAX softirq_MIN system_AVERAGE  system_MAX  system_MIN  user_AVERAGE    user_MAX    user_MIN    ServerName  Start Time  End Time
16.3233089  16.40686623 16.19631629 0.035061225 0.050890455 0.02644959  0   0   0   0   0   0   0.003819214 0.009045636 0.001082091 0.108321254 0.133326619 0.094285539 0.126921523 0.229612047 0.060476719 devetl1.devad.myworldpanel.com  1597044600  1599633000

sum_devetl1.devad.myworldpanel.comcheck_interface_eth0.csv

rx_AVERAGE  rx_MAX  rx_MIN  tx_AVERAGE  tx_MAX  tx_MIN  ServerName  Start Time  End Time
734168.6231 1112739.696 489717.1196 735441.5674 1133400.164 472900.3149 devetl1.devad.myworldpanel.com  1597044600  1599633000


输出应在单个 csv 中(基于服务名称的相同工作表或多个工作表)保留所有标题

***(all the records for the first service)
rx_AVERAGE  rx_MAX  rx_MIN  tx_AVERAGE  tx_MAX  tx_MIN  ServerName  Start Time  End Time
20538.44384 73426.92533 1886.881034 6355.250931 20152.27358 1817.357994 devas1.devad.myworldpanel.com   1597044600  1599633000


734168.6231 1112739.696 489717.1196 735441.5674 1133400.164 472900.3149 devetl1.devad.myworldpanel.com  1597044600  1599633000




***(all the records for the second service)***

idle_AVERAGE    idle_MAX    idle_MIN    iowait_AVERAGE  iowait_MAX  iowait_MIN  irq_AVERAGE irq_MAX irq_MIN nice_AVERAGE    nice_MAX    nice_MIN    softirq_AVERAGE softirq_MAX softirq_MIN system_AVERAGE  system_MAX  system_MIN  user_AVERAGE    user_MAX    user_MIN    ServerName  Start Time  End Time
16.3233089  16.40686623 16.19631629 0.035061225 0.050890455 0.02644959  0   0   0   0   0   0   0.003819214 0.009045636 0.001082091 0.108321254 0.133326619 0.094285539 0.126921523 0.229612047 0.060476719 devetl1.devad.myworldpanel.com  1597044600  1599633000

16.35289038 16.4473816  16.1616047  0.063374356 0.098422523 0.050224161 0   0   0   1.22E-05    7.27E-05    0   0.000824397 0.002787119 3.11E-05    0.07319389  0.120766931 0.040373169 0.106745959 0.232386044 0.052443433 devas1.devad.myworldpanel.com   1597044600  1599633000

请需要一些想法来做到这一点。

标签: powershell

解决方案


两个评论都是正确的。您需要选择以下选项之一:

  1. 从两种类型的日志文件中获取所有标题,并将所有标题组成一个数组
Check CPU Array    Interface Array    Combined Array
- rx_Average       - idle_Average     - rx_Average
- rx_Max           - idle_Max         - rx_Max
- rx_Min           - idle_Min         - rx_Min
...                ...                - idle_Average
...                ...                - idle_Max
...                ...                - idle_Min
  1. 输出两个单独的 CSV 文件,每种类型的日志一个
  2. 输出一个带有两张单独工作表的 Excel 文件,每种类型的日志一张

推荐阅读