【发布时间】:2018-09-21 18:08:21
【问题描述】:
当我使用 import-csv 从 .csv 文件中检索数据时
我可以使用 Import-CSV 在控制台窗格中检索文件中的数据:
import-csv \\TestPath\licenses_v2.csv
但是,当我将该输出通过管道传输到 select-object 语句时,会检索到相同数量的行,但它们现在都是空的。
import-csv \\TestPath\licenses_v2.csv |
select-object FirstName,LastName,Department,Title
这发生在我开始测试以下两个单独的脚本之后,试图在 SQL 表的 INSERT 语句之前进行 TRUNCATE。
$database = 'DATABASE'
$server = 'SERVER'
$table = 'TABLE'
Import-CSV \\TESTPATH\licenses_v2.csv |
ForEach-Object { Invoke-Sqlcmd -Database $database -ServerInstance $server -Query "truncate table $table; insert into $table VALUES ('$($_.FirstName)','$($_.LastName)','$($_.Department)','$($_.Title)')"
}
$database = 'DATABASE'
$server = 'SERVER'
$table = 'TABLE'
Invoke-Sqlcmd -Database $database -ServerInstance $server -Query "truncate table $table"
Import-CSV \\TESTPATH\licenses_v2.csv |
ForEach-Object { Invoke-Sqlcmd -Database $database -ServerInstance $server -Query "insert into $table VALUES ('$($_.FirstName)','$($_.LastName)','$($_.Department)','$($_.Title)')"
}
我该怎么做才能扭转这种情况?
【问题讨论】:
-
请将 CSV 文件中的一些示例行(包括标题行)添加到问题中。
-
CSV 数据是什么样的?
-
我更新了我的问题并提供了视觉示例。
-
你为
Import-Csv指定了什么分隔符?
标签: powershell csv pipe import-csv select-object