ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Powershell Filter Data and Copy Data to new .csv file

    Scheduled Pinned Locked Moved IT Discussion
    13 Posts 3 Posters 3.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      stess @stess
      last edited by stess

      @stess

      Hmmm.. I don't know how to post code here. 😛

      $csvFile = ".\etc.csv" #dummy file. Change it to whereevery your file is at.
      $csvImport = Import-Csv $csvFile
      
      # Create Array for Exporting out data
      $csvArray = "" #this clear for testing purpose. But it works in production environment as well.. so I didn't bother to remove it.
      $csvArray = [System.Collections.ArrayList]@()
      
      # Entry count
      $lineCounter = 1
      
      # Foreach Loop
      Foreach ($csvImportedItem in $csvImport){
      $lineCounter++ #this let me know which line in the entry is the problem.
      $importedName = $csvImportedItem.Name
      $importedID = $csvImportedItem.ID
      $importedDept = $csvImportedItem.Department
      $importedNote = $csvImportedItem.Note
      if($importedNote -eq "C"){
      $csvArray += $csvImportedItem
      "[$lineCounter] $importedName $importedID $importedDept $importedNote`n" #For outputing result. Testing purpose
      $csvImportedItem #For outputing result. Testing purpose
      
      
      }
      }
      $csvArray #For outputing result before exporting to new CSV
      #$csvArray | Export-Csv $NEWPATH -NoTypeInformation #destinate new path.
      
      Name ID Department Note
      Caroline Bates 10035 Sales A
      Danny Harrison 11523 Customer Service B
      Armando Kelley 16423 Sales C
      Dorothy Colon 10245 HR B
      Joanna Sutton 19853 Accounting C

      Neat!

      ObsolesceO LakshmanaL 2 Replies Last reply Reply Quote 1
      • ObsolesceO
        Obsolesce @stess
        last edited by

        @stess

        This site uses Markdown: https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet

        To post code, you use three ``` before and after your code. Single line or above and below your block of code.

        S LakshmanaL 2 Replies Last reply Reply Quote 2
        • S
          stess @Obsolesce
          last edited by

          @tim_g
          Thanks! site bookmarked

          1 Reply Last reply Reply Quote 1
          • LakshmanaL
            Lakshmana
            last edited by

            If there is any possibility to copy the new content of the data from. csv to smtp mail by powershell???

            S 1 Reply Last reply Reply Quote 0
            • LakshmanaL
              Lakshmana @Obsolesce
              last edited by

              @tim_g said in Powershell Filter Data and Copy Data to new .csv file:

              @stess

              This site uses Markdown: https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet

              To post code, you use three ``` before and after your code. Single line or above and below your block of code.

              This git hub is for?

              1 Reply Last reply Reply Quote 0
              • S
                stess @Lakshmana
                last edited by

                @lakshmana

                You mean send mail using whatever the data in the CSV is?

                $SmtpServer = "smtp.com"
                $SmtpServerPort = "25 or 587"
                $SmtpFrom = "[email protected]"
                $SmtpTo = "[email protected]"
                $SmtpBody = "$csvArray"
                $SmtpSubject = "Subject"
                
                Send-MailMessage -SmtpServer $SmtpServer -Port $SmtpServerPort -From $SmtpFrom -To $SmtpTo -subject $SmtpSubject -body $SmtpBody
                
                LakshmanaL 1 Reply Last reply Reply Quote 0
                • LakshmanaL
                  Lakshmana @stess
                  last edited by

                  @stess said in Powershell Filter Data and Copy Data to new .csv file:

                  @lakshmana

                  You mean send mail using whatever the data in the CSV is?

                  $SmtpServer = "smtp.com"
                  $SmtpServerPort = "25 or 587"
                  $SmtpFrom = "[email protected]"
                  $SmtpTo = "[email protected]"
                  $SmtpBody = "$csvArray"
                  $SmtpSubject = "Subject"
                  
                  Send-MailMessage -SmtpServer $SmtpServer -Port $SmtpServerPort -From $SmtpFrom -To $SmtpTo -subject $SmtpSubject -body $SmtpBody
                  

                  Thank you so much

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    stess @Lakshmana
                    last edited by

                    @lakshmana
                    You should look more into technet articles. There are plenty of guide, tips and tricks, etc.

                    1 Reply Last reply Reply Quote 0
                    • LakshmanaL
                      Lakshmana @stess
                      last edited by

                      @stess said in Powershell Filter Data and Copy Data to new .csv file:

                      @stess

                      Hmmm.. I don't know how to post code here. 😛

                      $csvFile = ".\etc.csv" #dummy file. Change it to whereevery your file is at.
                      $csvImport = Import-Csv $csvFile
                      
                      # Create Array for Exporting out data
                      $csvArray = "" #this clear for testing purpose. But it works in production environment as well.. so I didn't bother to remove it.
                      $csvArray = [System.Collections.ArrayList]@()
                      
                      # Entry count
                      $lineCounter = 1
                      
                      # Foreach Loop
                      Foreach ($csvImportedItem in $csvImport){
                      $lineCounter++ #this let me know which line in the entry is the problem.
                      $importedName = $csvImportedItem.Name
                      $importedID = $csvImportedItem.ID
                      $importedDept = $csvImportedItem.Department
                      $importedNote = $csvImportedItem.Note
                      if($importedNote -eq "C"){
                      $csvArray += $csvImportedItem
                      "[$lineCounter] $importedName $importedID $importedDept $importedNote`n" #For outputing result. Testing purpose
                      $csvImportedItem #For outputing result. Testing purpose
                      
                      
                      }
                      }
                      $csvArray #For outputing result before exporting to new CSV
                      #$csvArray | Export-Csv $NEWPATH -NoTypeInformation #destinate new path.
                      
                      Name ID Department Note
                      Caroline Bates 10035 Sales A
                      Danny Harrison 11523 Customer Service B
                      Armando Kelley 16423 Sales C
                      Dorothy Colon 10245 HR B
                      Joanna Sutton 19853 Accounting C

                      Neat!

                      if there "ticket id" and "Assigned date" is there in heading means??

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        stess @Lakshmana
                        last edited by

                        @lakshmana said in Powershell Filter Data and Copy Data to new .csv file:

                        @stess said in Powershell Filter Data and Copy Data to new .csv file:

                        @stess

                        Hmmm.. I don't know how to post code here. 😛

                        $csvFile = ".\etc.csv" #dummy file. Change it to whereevery your file is at.
                        $csvImport = Import-Csv $csvFile
                        
                        # Create Array for Exporting out data
                        $csvArray = "" #this clear for testing purpose. But it works in production environment as well.. so I didn't bother to remove it.
                        $csvArray = [System.Collections.ArrayList]@()
                        
                        # Entry count
                        $lineCounter = 1
                        
                        # Foreach Loop
                        Foreach ($csvImportedItem in $csvImport){
                        $lineCounter++ #this let me know which line in the entry is the problem.
                        $importedName = $csvImportedItem.Name
                        $importedID = $csvImportedItem.ID
                        $importedDept = $csvImportedItem.Department
                        $importedNote = $csvImportedItem.Note
                        if($importedNote -eq "C"){
                        $csvArray += $csvImportedItem
                        "[$lineCounter] $importedName $importedID $importedDept $importedNote`n" #For outputing result. Testing purpose
                        $csvImportedItem #For outputing result. Testing purpose
                        
                        
                        }
                        }
                        $csvArray #For outputing result before exporting to new CSV
                        #$csvArray | Export-Csv $NEWPATH -NoTypeInformation #destinate new path.
                        
                        Name ID Department Note
                        Caroline Bates 10035 Sales A
                        Danny Harrison 11523 Customer Service B
                        Armando Kelley 16423 Sales C
                        Dorothy Colon 10245 HR B
                        Joanna Sutton 19853 Accounting C

                        Neat!

                        if there "ticket id" and "Assigned date" is there in heading means??

                        use " "
                        So

                        $importedID = $csvImportedItem.ID
                        

                        becomes

                        $importedID = $csvImportedItem."ticket id"
                        

                        Keep the variable simple and easy to understand.

                        LakshmanaL 1 Reply Last reply Reply Quote 0
                        • LakshmanaL
                          Lakshmana @stess
                          last edited by

                          @stess i get error as "Warning: one or more headers were not specified. Defaults names starting with H have been used in place of any missing headers"

                          there is no data copied here to. csv

                          1 Reply Last reply Reply Quote 0
                          • 1 / 1
                          • First post
                            Last post