добавление нескольких данных CSV в один файл CSV на основе имени сервера

#powershell

#powershell

Вопрос:

В настоящее время у меня есть несколько файлов 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

  

Пожалуйста, нужна идея, чтобы сделать это.

Комментарии:

1. То, что вы собираетесь сделать, не приведет к созданию допустимого CSV. В CSV нет листов, и у вас не может быть разных строк заголовка. Попробуйте поискать примеры, как импортировать каждый отдельный CSV-файл, который у вас есть, в разные таблицы Excel.

2. Повторяя то, что сказал @Theo — вам нужно решить, хотите ли вы объединить два формата в один CSV (с надмножеством заголовков из обоих форматов), или вы хотите сохранить его в отдельных форматах (т. Е. один файл содержит все _check_cpu.csv значения, другой — с _interface_eth0.csv значениями и т.д.)

Ответ №1:

Оба комментария верны. Вам нужно будет выбрать один из следующих параметров:

  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 с двумя отдельными листами, по одному для каждого типа журнала