Я столкнулся с проблемой, и я новичок в разработке (но долгое время sys admin).Замена пустых значений в CSV с помощью powershell?
В принципе у меня есть CSV (ну много CSV, но я хочу начать с 1), который содержит несколько пустых полей.
Я надеялся, что смогу использовать powershell для загрузки csv, затем выполнить поиск и заменить, а затем вывести файл, используя следующий код .... Но я не могу указать строку нулевой длины. (По понятным причинам, вы не можете найти ничего, я полагаю) ...
PS C:\Users\Administrator> [io.file]::readalltext("C:\BainesWingData.CSV").replace("","TEST") | Out-File c:\result.
csv -Encoding ascii -Force
Все, что я хочу сделать, это заменить пустые поля с «0». Ниже приведен пример CSV. Расположение пустых полей может отличаться.
Timestamp,Baines Wing - 0006.B0006 0006 EM03 (kWh),Baines Wing - 0006.B0006 0006 EM04 (kWh),Baines Wing - 0006.B0006 0006 EM05 (kWh),Baines Wing - 0006.B0016 0006 EM01 (kWh)
31/01/2014 20:00,,,,
31/01/2014 20:30,6,8,6,19
31/01/2014 21:00,5,9,6,19
31/01/2014 21:30,5,8,6,20
31/01/2014 22:00,5,8,6,19
31/01/2014 22:30,6,8,5,20
31/01/2014 23:00,5,7,6,19
31/01/2014 23:30,5,8,6,20
01/02/2014 00:00,5,8,5,19
01/02/2014 00:30,5,8,6,20
01/02/2014 01:00,5,8,6,19
01/02/2014 19:00,5,7,7,19
01/02/2014 19:30,,,,20
01/02/2014 20:00,,,,
Как вы можете видеть, для некоторых строк есть несколько пустых полей. Это нарушает приложение, которое должны считывать эти файлы CSV, поэтому моя цель - придумать скрипт, который работает на этих CSV, чтобы заменить пустые поля только 0.
Может кто-то указать мне в правильном направлении, пожалуйста ?
С уважением Том
Привет! Кажется, что он работает, но он все обертывает кавычками на выходном CSV и также, кажется, вставляет две пустые строки в конце файла «" ",,,, " ",,,," любые идеи? – tomstephens89
двойные кавычки генерируются export-csv, если вы не хотите, чтобы они создавали вашу собственную функцию экспорта. Я думаю, у вас есть пустая строка в исходном файле, поэтому у вас есть пустые строки. –
. Ах, да, я вижу сейчас, о, спасибо за отправную точку :-) Я посмотрю, что смогу собрать, теперь я знаю, что это возможно. – tomstephens89