导入CSV在C#中使用PowerShell添加列
本文关键字:PowerShell 添加 CSV 导入 | 更新日期: 2023-09-27 18:25:59
我有一个相当大的CSV文件(27MB),其中至少有400000行。我想向其中添加一列,就像在这个方法中一样,然后导出它,只是我必须用C#来完成。我已经添加了System.Management.Automation
和Microsoft.PowerShell
名称空间。我还希望新列成为CSV中的第一列。我怎样才能以最快的方式做到这一点?
虽然这里使用的方法可以工作,但我特别不想使用任何非windows提供的自定义库。
这是我尝试过的,但似乎不起作用:
PowerShell ps = PowerShell.Create();
ps.AddCommand("Import-Csv " + csvFileName + " |Select-Object *,@{Name='Name' ;Expression = {'setvalue'}} | Export-Csv " + csvFileName + " -NoTypeInformation");
ps.Invoke();
我通过将ps.AddCommand
更改为ps.AddScript
并用单引号包围csvFileName来解决问题。修改后的代码如下
PowerShell ps = PowerShell.Create();
ps.AddScript("Import-Csv '" + csvFileName + "' |Select-Object *,@{Name='Name' ;Expression = {'setvalue'}} | Export-Csv '" + newCsvFileName + "' -NoTypeInformation");
ps.Invoke();