【问题标题】:Powershell Export-Csv with no header row没有标题行的 Powershell Export-Csv
【发布时间】:2015-03-25 01:35:26
【问题描述】:

我创建了输出到 csv 的自定义数据对象。一切正常,但是如何从输出文件中删除标题行?我尝试了“Select -Skip”的一些变体,但这通常会生成一个空白的 csv 文件。以下是相关的代码:

#populate data row with user properties
$DataObject | Add-Member -MemberType NoteProperty -Name 'EventID'-Value $EventID 
$DataObject | Add-Member -MemberType NoteProperty -Name 'Computer'-Value $env:COMPUTERNAME 
$DataObject | Add-Member -MemberType NoteProperty -Name 'EngineerID' -Value $EngineerID
$DataObject | Add-Member -MemberType NoteProperty -Name 'UserID' -Value $UserID
$DataObject | Add-Member -MemberType NoteProperty -Name 'DateTime' -Value $DateTime
$DataObject | Add-Member -MemberType NoteProperty -Name 'StepCode' -Value $StepCode
$DataObject | Add-Member -MemberType NoteProperty -Name 'Result' -Value $Result
$DataObject | Add-Member -MemberType NoteProperty -Name 'Status' -Value $HomeDirectoryAccess

#export the dataobject to a CSV file
$OutputFile = ($OutFilePath + "\Status_" + $env:COMPUTERNAME + "_" + $DateStamp + "-" + $TimeStamp + ".csv")
$DataObject | Export-Csv -Path $OutputFile -NoTypeInformation

$DataObject 看起来像这样:

EventID    : Test
Computer   : MD-760R102
EngineerID : Jez
UserID     : laijer
DateTime   : 25/03/2015 12:24 PM
StepCode   : USH
Result     : Complete
Status     : Home Drive Access Allowed

我也尝试过这段代码来输出数据,但它将所有数据放入 csv 文件的第一个单元格,而不是单个单元格中的一行:

$DataOutput = $DataObject.EventID + "," + $DataObject.Computer + "," + $DataObject.EngineerID + "," + $DataObject.UserID + "," + $DataObject.DateTime + "," + $DataObject.StepCode + "," + $DataObject.Result + "," + $DataObject.Status
$DataOutput | Out-File $OutputFile

【问题讨论】:

    标签: powershell


    【解决方案1】:

    你应该能够同时使用ConvertTo-CSVSelect -Skip 1 来获得你想要的东西。转换为 CSV 后,您必须在新行上拆分,因为它会输出多行字符串,但这很简单。

    ($DataObject | Select EventID,Computer,EngineerID,UserID,DateTime,StepCode,Result,Status | ConvertTo-Csv -NoTypeInformation).split("`n") | select -skip 1 | set-content $OutputFile
    

    这将为您提供以下信息:

    "Test","MD-760R102","Jez","laijer","25/03/2015 12=24 PM","USH","Complete","Home Drive Access Allowed"
    

    【讨论】:

    • 完美运行!非常感谢。
    • lol 抱歉,到处寻找“标记为答案”按钮,才发现是向下投票箭头下方的“打勾”符号。
    猜你喜欢
    • 2023-03-16
    • 2018-02-08
    • 2021-04-02
    • 2021-11-01
    • 1970-01-01
    • 2018-12-12
    • 1970-01-01
    • 2019-03-30
    • 2018-06-03
    相关资源
    最近更新 更多