【问题标题】:Importing CSV adding a column using PowerShell in C# [closed]在 C# 中使用 PowerShell 导入 CSV 添加列 [关闭]
【发布时间】:2016-03-11 17:44:29
【问题描述】:

我有一个相当大的 CSV 文件 (27MB),其中至少有 400,000 行。我想向它添加一列,就像在this method 中一样并导出它,除了我必须在 C# 中进行。我添加了 System.Management.AutomationMicrosoft.PowerShell 命名空间。我还希望新列成为 CSV 中的第一列。我怎样才能以最快的方式实现这一目标?

虽然使用 here 的方法可以工作,但我特别不想使用任何非 windows 提供的自定义库。

这是我尝试过的,但它似乎不起作用:

PowerShell ps = PowerShell.Create();
ps.AddCommand("Import-Csv " + csvFileName + " |Select-Object *,@{Name='Name' ;Expression = {'setvalue'}} | Export-Csv " + csvFileName + " -NoTypeInformation");
ps.Invoke();

【问题讨论】:

标签: c# .net csv powershell


【解决方案1】:

我通过将 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();

【讨论】:

    猜你喜欢
    • 2020-06-01
    • 1970-01-01
    • 2017-09-26
    • 2021-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多