数据库查询输出到CSV

时间:2015-08-11 17:05:08

标签: oracle powershell powershell-v2.0 export-to-csv

以下是我的PowerShell代码,它运行正常。

inputStreamStartsWithPrefix

问题是我想将结果导出为CSV。如何在PowerShell中执行此操作?另外,如何在PowerShell屏幕或输出中以表格格式显示它?

2 个答案:

答案 0 :(得分:1)

我过去做过类似的事情,我没有把它作为csv导出但它应该有效。

$someArray = @()
    #read all rows into a hash table
    while ($reader.Read())
    {
        $row = @{}
        for ($i = 0; $i -lt $reader.FieldCount; $i++)
        {
            $row[$reader.GetName($i)] = $reader.GetValue($i)
        }
        #convert hashtable into an array of PSObjects
        $someArray += new-object psobject -property $row            
    }
$conn.Close()
$someArray | export-csv C:\temp\someFile.csv

答案 1 :(得分:1)

从每个记录的字段构建自定义对象,然后将对象列表导出为CSV:

$colNames = $reader.GetSchemaTable() | select -Expand ColumnName

$data = while ($reader.Read()) {
  $obj = New-Object -Type PSCustomObject

  for ($i = 0; $i -lt $colNames.Count; $i++) {
    $obj | Add-Member -Type NoteProperty -Name $colNames[$i] -Value $reader.GetString($i)
  }

  $obj
}

$data | Export-Csv 'C:\path\to\output.csv' -NoType

here采用的代码(大约在页面的一半,但您可能希望完整阅读该文章)。

将数据传输到Format-Table以获取PowerShell控制台中的表格输出:

$data | Format-Table -AutoSize