【问题标题】:Powershell add header to blank csvPowershell将标题添加到空白csv
【发布时间】:2016-12-31 12:17:08
【问题描述】:

我有一个流程正在尝试完全自动化,但遇到了一个绊脚石。

该过程会运行多个 SQL 查询,然后将这些结果输出到不同的命名 CSV 文件。

我的问题在于,当我导出数据时(我必须这样做以满足审计员的要求),查询中没有返回结果到数据集,没有头数据写入 CSV 文件。

因此,我需要做的是,如果数据集包含 0 行,则只需导出包含标题“客户”、“余额”、“帐户”的 CSV 文件。

如果表中有数据,则该过程可以像当前一样继续。

我不确定这到底是如何实现的......

我目前正在静音是否必须导出数据,然后编写一个循环以从 CSV 中删除任何包含例如“客户端”的行,然后重新导入 CSV 添加我想要的列标题并导出再说一遍。由于这很混乱,理想情况下我想远离这个..

代码是

$SqlCmd.CommandTimeout=$timeout;
$SqlCMD.CommandText = $034CASHQUERY;
$SqlCmd.Connection = $SqlConnection;

## - Extract Data and build sql data object

$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter;
$SqlAdapter.SelectCommand = $SqlCmd;
$DataSet = New-Object System.Data.DataSet;
$SqlAdapter.Fill($DataSet);
$DataSetTable = $DataSet.Tables["Table"];

IF($DataSet.Tables["Table"]){
$isnotnull
$DataSet.Tables["Table"] | Export-Csv $034CASHOUT -NoTypeInformation 
echo "CL2 Exported"


}
else {



}

之前有没有人遇到过这个问题或者知道如何遍历这个问题?

【问题讨论】:

    标签: csv powershell export-to-csv


    【解决方案1】:

    您能否提供有关您正在处理的数据的更多信息?我了解如果没有您想要“客户”、“余额”、“帐户”的数据。 当有数据存在时,是否也会在这 3 列中?

    如果是这样,这就是你的答案:

    $DataSet.Tables["Table"] |
    Select-Object Client,Balance,Account |   
    Export-Csv $034CASHOUT -NoTypeInformation 
    

    【讨论】:

      【解决方案2】:

      您可以创建一个 .csv 文件并手动添加标题文本。

      $headerText = ('"Client","Balance","Account"' + "`n")
      New-Item $034CASHOUT | Add-Content -value $headerText 
      

      另外,我认为您的 IF 条件可能有点不稳定。您在寻找:

      IF($DataSet.Tables["Table"] -isnot $null)
      

      大家一起:

      IF($DataSet.Tables["Table"] -isnot $null){
      
        $DataSet.Tables["Table"] | Export-Csv $034CASHOUT -NoTypeInformation 
        echo "CL2 Exported"
      
      }
      else {
      
        $headerText = ('"Client","Balance","Account"' + "`n")
        New-Item $034CASHOUT | Add-Content -value $headerText
      
      }
      

      这可能不是最好的方法,但我认为这就是你所描述的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-02
        • 2013-06-05
        • 2015-01-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多