当我使用import-csv从.csv文件中检索数据时
我可以使用Import-CSV在控制台窗格中检索文件中的数据:
jQuery('#copy-all').on('click', function(e) {
if($(this).is(':checked',true)) {
$("#copy-all-rows").fadeOut(800, function(){
$(this).remove();
});
$("#copy-all-rows").clone().appendTo('#table2');
}
})
但是,当我将该输出传递给select-object语句时,会检索到相同数量的行,但它们现在都是空的。
import-csv \\TestPath\licenses_v2.csv
这是在我开始测试以下两个单独的脚本之后发生的,试图在SQL表的INSERT语句之前进行TRUNCATE。
import-csv \\TestPath\licenses_v2.csv |
select-object FirstName,LastName,Department,Title
我需要做些什么来扭转这种局面?
答案 0 :(得分:4)
当您使用以管道分隔的CSV时,默认为逗号。您可以在屏幕#1中看到数据,因为它为每列创建了一个对象。您看到标题为空,因为powershell与这些文字标题下的任何对象都不匹配(因为只有一个标题,名为all的组合。)
请注意,Select匹配时可以返回标题:
'' | Select Name,Date
Name Date
---- ----
要修复,只需使用Import-Csv -Delimiter '|'
如果在文件中指定了除实际字符串分隔符以外的字符,则Import-Csv无法从CSV字符串创建对象。相反,它返回字符串。