none
Преобразование htm (html) в csv с сохранением определённых данных. вопрос формата времени. RRS feed

  • Вопрос

  • добрый день. предидущий вопрос:

    https://social.technet.microsoft.com/Forums/ru-RU/ae6f1f08-96d1-4490-a9bb-50e11eed0fe5/-htm-html-csv-?forum=windows7ru#f6d240cf-2bc5-4411-a4ff-3b73efd3b568

    отдельное спасибо товарищу Kazun за оперативную и вкалифицированную помощь.

    задача та же (извлечь данные из html в csv) файла

    http://rgho.st/6lG45hmLj

    но при отработке

    (gc .\Weather_Summary_Vantage_Pro_Plus.htm -Raw) -replace "&nbsp;"," " -match "(?s)As of:\s+(\d{2}.\d{2}.\d{2} \d{2}:\d{2})<.+(Solar Radiation:).+<b>(.+)\B</b></TD>" | % {'"{0}","{1}","{2}"' -f $matches[1],$matches[2],$matches[3]} | Out-File Weather_Solar_Radiation.csv

    всё хорошо в промежутке времени с 10:00 до 23:59.

    с 0:00 по 9:59 данные не экстрактируются, выдаёт ошибку:

    Не удается индексировать в массив NULL.
    C:\WeatherLink\Fonviz8\Reports\Weather_Solar_Radiation_TIME.ps1:1 знак:176
    + ... /b></TD>" | % {'"{0}","{1}","{2}"' -f $matches[1],$matches[2],$matches[3]
    } | Out ...
    +                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
        + FullyQualifiedErrorId : NullArray

    помогите пожалуйста. спасибо.


    2 августа 2016 г. 6:37

Ответы

  • (gc c:\WeatherLink\Fonviz8\Reports\sol_rad.html -Raw) -replace "&nbsp;"," " -match "(?s)As of:\s+(\d{2}.\d{2}.\d{2}\s+\d{1,2}:\d{2}).+(Solar Radiation:).+<b>(.+)\B</b></TD>" | % {'"{0}","{1}","{2}"' -f $matches[1],$matches[2],$matches[3]} | Out-File Weather_Solar_Radiation_TIME.csv
    

    • Помечено в качестве ответа Morn1ng 4 августа 2016 г. 14:27
    4 августа 2016 г. 12:58

Все ответы

  • \d{2}:\d{2} поменять на \d{1,2}:\d{2}
    • Предложено в качестве ответа Anton Sashev Ivanov 2 августа 2016 г. 7:26
    • Помечено в качестве ответа Morn1ng 3 августа 2016 г. 12:14
    • Снята пометка об ответе Morn1ng 4 августа 2016 г. 6:26
    2 августа 2016 г. 6:46
  • спасибо, помогло )

    что-то пошло не так. при запуске:

    (gc c:\WeatherLink\Fonviz8\Reports\sol_rad.html -Raw) -replace "&nbsp;"," " -match "(?s)As of:\s+(\d{2}.\d{2}.\d{2} \d{1,2}:\d{2}).+(Solar Radiation:).+<b>(.+)\B</b></TD>" | % {'"{0}","{1}","{2}"' -f $matches[1],$matches[2],$matches[3]} | Out-File Weather_Solar_Radiation_TIME.csv

    выдаёт ошибку:

    Не удается индексировать в массив NULL.
    C:\WeatherLink\Fonviz8\Reports\Weather_Solar_Radiation_TIME.ps1:1 знак:178
    + ... /b></TD>" | % {'"{0}","{1}","{2}"' -f $matches[1],$matches[2],$matches[3]
    } | Out ...
    +                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
        + FullyQualifiedErrorId : NullArray

    http://rgho.st/6ch6K8T9r

    спасибо.

    • Изменено Morn1ng 4 августа 2016 г. 6:37 проблема
    3 августа 2016 г. 12:13
  • (gc c:\WeatherLink\Fonviz8\Reports\sol_rad.html -Raw) -replace "&nbsp;"," " -match "(?s)As of:\s+(\d{2}.\d{2}.\d{2}\s+\d{1,2}:\d{2}).+(Solar Radiation:).+<b>(.+)\B</b></TD>" | % {'"{0}","{1}","{2}"' -f $matches[1],$matches[2],$matches[3]} | Out-File Weather_Solar_Radiation_TIME.csv
    

    • Помечено в качестве ответа Morn1ng 4 августа 2016 г. 14:27
    4 августа 2016 г. 12:58
  • спасибо, работает)
    4 августа 2016 г. 14:27