![]() |
Массив строк
Добрый День! Существует файл следующего содержания:
Статус Иванов Иван Сергеевич 23-45 Статус Васечкин Алексей Иванович 23-45 Статус Петров Антон Владимирович 56-76 Возможно ли преобразовать что-то примерно следующие: Статус Иванов Иван Сергеевич 34-45 Статус Васечкин Алексей Иванович 23-45 Статус Петров Антон Владимирович 56-76 Т.е. я теоретически понимаю, что отправная точка должно быть слово "Статус" плюс количество строк. Как-то бы преобразовать в pscustomobject. |
Цитата:
Цитата:
Ну, например: Код:
$aData = @(Get-Content -Path 'C:\Мои проекты\0304\0001.txt') Цитата:
|
Вы правы. Существует массив строк из которых необходимо выбрать Номер и Статус Направлен в группу и только у Запросов
Нужно получить что-то, который потом необходимо передать в Excel или csv Думаю если удаться таким образом преобразовать Код:
pscustomobject @{ |
Цитата:
У Вас есть формальное описание структуры этого файла? Если есть — выкладывайте. Если нет — рассказывайте, что знаете. Я вижу, что у нас есть набор сущностей (назовём их сообщениями), объединённых некой логикой: Скрытый текст
![]() Вопрос первый — длина сообщений фиксированная (в строках) или произвольная? Если фиксированная — то какая? Если произвольная — на что нужно ориентироваться в отслеживании начала и конца сообщения? Откуда взялись пробелы перед последней датой? Последняя пустая строка — реальна? |
Я смогу изменить входные данные, останутся только Запросы. Один "Запрос" - это 9 строчек из приложенного файла (Нарядов не будет)
Согласно коду приведенному Вами выше, получается новый массив который зрительно выглядит как надо. Новый массив, нужно еще раз преобразовать (или старый сразу) в вариант - "Номер Статус ФИО" т.е. отсечь лишнюю информацию. После получения нового объекта передать его в Excel. |
lox-ness, Вы могли бы просто ответить на заданные мною вопросы?
|
Вложений: 1
Я стараюсь ответить на все Ваши вопросы.
Цитата:
Цитата:
|
Цитата:
Цитата:
|
:sorry:
Цитата:
Т.е. получиться - Запрос ЗАП.. 1-Направлен в группу М... (12345678) запрос 02/12/19 08:24:22 09/12/19 08:24:17 16/12/19 08:24:17 |
lox-ness, мне сложно понять, чего Вы хотите.
Код:
$sDelimiter = 'Запрос' + [Environment]::NewLine |
Вы все правильно поняли. Спасибо Вам за терпение.
|
Вложений: 1
Указать путь к файлу и на таблице нажать Обновить
|
Спасибо
|
Код:
$csv = (gc C:\scripts\temp.txt -Raw -Encoding UTF8) -split "(?=Статус)" |% { |
Только не UTF8. Там 1200/UTF-16LE.
|
:) Я только первое сообщение читал.
|
Время: 09:50. |
Время: 09:50.
© OSzone.net 2001-