在powershell中导入csv文件

时间:2014-05-15 05:23:58

标签: powershell

我在PowerShell中导入csv文件时遇到问题。我正在使用以下命令读取csv文件。

$CsvFilePath=“D:\MyShareOuts\*.csv”

$DataImport=Import-Csv -Path (Get-ChildItem $CsvFilePath)|Out-DataTable

Write-DataTable -ServerInstance $server -Database $Database -TableName $Table -Username $Username -Password $Password -Data $DataImport

由于CsvFilePath包含数千个大尺寸的文件,导入需要很长时间并且PowerShell会停止工作或在import-csv代码行上长时间挂起。最后导入不会发生。任何人都可以提出有价值的解决方案,使其成功实现。

1 个答案:

答案 0 :(得分:0)

尝试逐个处理文件而不是1000个处理文件?

$CsvFilePath=“D:\MyShareOuts\*.csv”

Get-ChildItem $CsvFilePath | Foreach-Object {

    $DataImport = Import-Csv $_.FullName | Out-DataTable

    Write-DataTable -ServerInstance $server -Database $Database -TableName $Table -Username $Username -Password $Password -Data $DataImport

}

我还没有使用Out-/Write-Datable,但它也可能支持这样的事情(非常未经测试):

$CsvFilePath=“D:\MyShareOuts\*.csv”

Get-ChildItem $CsvFilePath |
Import-Csv |
Out-DataTable | Foreach-Object {

    Write-DataTable -ServerInstance $server -Database $Database -TableName $Table -Username $Username -Password $Password -Data $_

}