Я хочу добавить два столбца в начале существующего CSV, который будет использоваться для хранения любых совпадений, найденных в этой строке, и номера строки.У меня правильно работает поиск, чтобы найти совпадения, я просто не уверен, как вставить / добавить найденные значения в существующую (или вновь созданную) электронную таблицу.
Моя первая проблема, когда я иду, чтобы добавить2 новых столбца с именами «ICHit» и «Line» удаляет весь мой CSV.Я также не уверен, с чего начать с добавления значений в соответствующие строки в CSV.
Заранее благодарен за любую помощь в этом!
Структура данных
COLUMNS = ICHit,Line,UserName,EmailAddress,Code
CellValues = MATCHGOESHERE,LINENUMBERHERE,Bob,Bob@gmail.com,12345
$date = Get-Date -UFormat "%Y-%m-%d"
$OutPutFileName = "SearchResults" + $date + ".csv"
$CSV= "U:\Found\$OutPutFileName"
$RXSearchList = "12345,bob@gmail.com"
$filetosearch = "\\server\SpreadsheetToSearch.csv"
Import-Csv $filetosearch | #add new columns
Select-Object *,@{Name='column0';Expression={'setvalue'}} |
Export-Csv $filetosearch -NoTypeInformation
$File2 = new-object System.IO.StreamWriter($CSV,$true) #Append or Create a new file Stream.
$File2.WriteLine('ICHit,Line') # New Columns to add
$file = New-Object System.IO.StreamReader ($filetosearch) # Input Stream
while (($text = $file.ReadLine()) -ne $null ){
foreach ($RX in $Global:RXSearchList){
foreach ($match in ([regex]$RX).Matches($text)) {
$Global:File2.WriteLine("{0},{1}",$match.value,$text)
}
}
}
$file.close();
$Global:File2.close() #file2