簡體   English   中英

Powershell:導入 CSV 然后導出

[英]Powershell: Import CSV and then export it afterwards

首先,我要感謝您幫助我或至少閱讀我的帖子

我有一個 CSV 文件名作為具有兩個值的用戶

firstname,lastname
John,Doe
Jane,Doa

我想使用這些值並用它創建許多值,然后將其導出到另一個 CSV

這是代碼

$users = Import-Csv C:\Temp\users.csv

foreach ($user in $users) {
    $firstname = $user.firstname
    $lastname = $user.lastname
    $username = ($firstname.ToLower()+"."+$lastname.ToLower()) -replace '\s',''
    $email = $username+"@email.com"
    $Location = "Paris"
    $ou = "OU=Users,OU=ORG,DC=test,DC=local" 

    Select-Object $firstname,$lastname,$username,$email,$Location,$ou | export-csv C:\Temp\userstest.csv
}

此代碼的問題是:我得到一個空的 CSV 作為導出

非常感謝

您正在重新導出 csv 的每一行,這導致了您的問題。

相反,讓我們改變命令的順序並使其工作。 此外,您可以使用計算屬性來使其更短,就像這樣。

$users = Import-Csv C:\Temp\users.csv
$Users | Select firstname, lastname,`
  @{l='username';exp={($_.firstname.ToLower()+"."+$_.lastname.ToLower()) -replace '\s',''}},`
  @{l='email';exp={"$($($_.firstname.ToLower()+"."+$_.lastname.ToLower()) -replace '\s','')@email.com"}},@{l="Location";exp={"Paris"}}, `
  {l='ou';exp={"OU=Users,OU=ORG,DC=test,DC=local"}}  | export-csv c:\temp\some.csv

在我的電腦上測試過,效果很好!

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM