Quantcast
Channel: Windows PowerShell forum
Viewing all articles
Browse latest Browse all 21975

import-csv multiple files form one folder

$
0
0

Hello,

There is a way to import multiple csv file into one and parse them? Or how to import multiple different csv file?

I have a task to accomplish. In one folder have multiple file in csv format with different name. 

Example csv file:

Name of first csv file in folder C:\users\test\csv_import\20130829tech56459ad.csv
Configuration of csv:

Number_1|Number_2|irrelevant|irrelevant1
9|705605922|irrelevant
1234|282512370014880017|irrelevant
1234|282321570014880017|irrelevant
1234|282570014321880017|irrelevant
1234|282570014881230017|irrelevant
1234|282570014231880017|irrelevant
9|749005605|irrelevant|irrelevant
1234|882577053000148550
9|743305605|irrelevant|irrelevant
1234|547713800014830522


Name of second csv file in folder C:\users\test\csv_import\20130829tech56789as.csv.csv
Configuration of csv:

Number_1|Number_2|irrelevant|irrelevant1
9|74400012|irrelevant
1234|351119800000148592|irrelevant
9|749005555|irrelevant
1234|882577053000166650|irrelevant
9|743304565|irrelevant
1234|547713802344830522|irrelevant

All csv file have allways header with name "Number_1" and "Number_2". All rows have allways number 9| and 1234|

I need to read this files and  achieve a score of somethings like this in email body:

This is a read the first CSV file
File Name: 20130829tech56459ad.csv
Number_1: 705605922
Number_2: 282512370014880017, 282321570014880017, 282570014321880017, 282570014881230017, 282570014231880017
Number_1: 749005605
Number_2: 882577053000148550
Number_1: 743305605
Number_2: 547713800014830522

This is a read the second CSV File: 20130829tech56789as.csv

File Name: 20130829tech56789as.csv

Number_1: 74400012
Number_2: 351119800000148592
Number_1: 749005555
Number_2: 882577053000166650
Number_1: 743304565
Number_2: 547713802344830522

I have something like this in powershell:

$Result = @()
$ilosc_1 = (import-csv .\*.csv -Delimiter "|" | Where-Object {$_.Number_1 -match "9"}  | Where-Object {$_.Number_2 -and "*"})
$ilosc_2 = (import-csv .\*.csv -Delimiter "|" | Where-Object {$_.Number_1 -eq "1234"} | Where-Object {$_.Number_2 -and "*"})
$ilosc_1 = (import-csv .\*.csv -Delimiter "|" | Where-Object {$_.Number_1 -match "9"}  | Where-Object {$_.Number_2 -and "*"})
$ilosc_2 = (import-csv .\*.csv -Delimiter "|" | Where-Object {$_.Number_1 -eq "1234"} | Where-Object {$_.Number_2 -and "*"})
$MailBody =  " Informacje o :
Number_1: $ilosc_1
Number_2: $ilosc_2"
$Msg = New-Object Net.Mail.MailMessage 
$Smtp = New-Object Net.Mail.SmtpClient($SmtpServer)  
$Msg.From = $From 
$Msg.To.Add($To)  
$Msg.Subject = "Informacje o ilości za dzień $(Get-Date)" 
$Msg.Body = $MailBody 
$Smtp.Send($Msg) 

$SmtpServer = "asd"

$From = "asd"

$To = "asd"

Please help me

BR/Lukasz


Viewing all articles
Browse latest Browse all 21975

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>