试图找出如何将行添加到带有标题的csv文件。 我得到使用内容:将行添加到powershell中的CSV文件
$fileContent = Import-csv $file -header "Date", "Description"
$File
回报
Date,Description
Text1,text2
text3,text4
如何追加了新的日期和说明的行。对不起,我对PowerShell比较陌生。感谢任何可以帮助的人
试图找出如何将行添加到带有标题的csv文件。 我得到使用内容:将行添加到powershell中的CSV文件
$fileContent = Import-csv $file -header "Date", "Description"
$File
回报
Date,Description
Text1,text2
text3,text4
如何追加了新的日期和说明的行。对不起,我对PowerShell比较陌生。感谢任何可以帮助的人
创建一个新的自定义对象并将其添加到Import-Csv
创建的对象数组中。
$fileContent = Import-csv $file -header "Date", "Description"
$newRow = New-Object PsObject -Property @{ Date = 'Text4' ; Description = 'Text5' }
$fileContent += $newRow
这对我很好,除了它改变了我的列的顺序。在我使用上面的答案追加行后,我不得不使用'$ Import = $ Import | Select-Object ...'重新排序我的列以导出。 – mack 2014-03-21 18:46:51
要简单地追加到PowerShell中的文件,您可以使用添加内容。
因此,为了只添加一个新行到文件中,请尝试以下操作,其中$ YourNewDate和$ YourDescription包含所需的值。
$NewLine = "{0},{1}" -f $YourNewDate,$YourDescription
$NewLine | add-content -path $file
或者,
"{0},{1}" -f $YourNewDate,$YourDescription | add-content -path $file
这将只是标记的新线将.csv结束,并不会创造新的.csv文件,您将需要添加页眉工作。
我知道这是一个旧线程,但它是我在搜索时发现的第一个线程。 + =解决方案对我无效。我开始工作的代码如下。
#this bit creates the CSV if it does not already exist
$headers = "Name", "Primary Type"
$psObject = New-Object psobject
foreach($header in $headers)
{
Add-Member -InputObject $psobject -MemberType noteproperty -Name $header -Value ""
}
$psObject | Export-Csv $csvfile -NoTypeInformation
#this bit appends a new row to the CSV file
$bName = "My Name"
$bPrimaryType = "My Primary Type"
$hash = @{
"Name" = $bName
"Primary Type" = $bPrimaryType
}
$newRow = New-Object PsObject -Property $hash
Export-Csv $csvfile -inputobject $newrow -append -Force
我能够使用它作为函数来循环访问一系列数组并将内容输入到CSV文件中。
它适用于PowerShell 3及以上版本。
它工作完美。谢谢 :) – Sambhav 2015-07-08 05:23:09
欢迎来到StackOverflow。在为您的问题选择标签时请更加小心。我编辑你的问题更适合你的问题。 (标签用于根据主题或主题将问题分类到不同的类别中,而您的“stackoverflow.com”原始标签不仅不合适,而且与您的问题完全无关。)您可能还想访问[FAQ] (http://stackoverflow.com/faq)来熟悉整个网站。 :) – 2012-03-21 21:38:22