当前位置: 首页 > 知识库问答 >
问题:

如何使用PowerShell将数据添加到CSV的最后一列?

轩辕成天
2023-03-14

我需要将数据添加到CSV文件的最后一列。我拥有的测试文件如下所示:

NAME,AGE,OFFICE,DEPT,SKILL
jack,24,IBM,Retail
tom,32,MS,BFSI
SAM,44,MGR,Test

我已经设法解析了CSV,但是在最后一列“SKILL”中添加数据是很困难的。要求是在每行的最后一列添加“Java”一词

NAME,AGE,OFFICE,DEPT,SKILL
jack,24,IBM,Retail,Java
tom,32,MS,BFSI,Java
SAM,44,MGR,Test,Java

请注意,添加到最后一列的值在各行之间保持不变。

共有2个答案

池俊茂
2023-03-14

您只需创建一个包含当前csv数据的对象,并使用字符串Java扩展该对象,如下所示:

$results = @() # Empty array to store new created rows in
$csv = Import-Csv "$PSScriptRoot\csvfile.csv"
foreach ($row in $csv) {
    $properties = [ordered]@{
        NAME   = $row.NAME
        AGE    = $row.AGE
        OFFICE = $row.OFFICE
        DEPT   = $row.DEPT
        SKILL  = "Java"
    }
    # insert the new row as an object into the results-array
    $results += New-Object psobject -Property $properties
}
# foreach-loop filled the results-array - export it as a CSV-file
$results | Export-Csv "new-file.csv" -NoTypeInformation
周涵畅
2023-03-14

您可以更改导入对象的SKILL属性的值,并通过以下方式导出到CSV文件:

Import-Csv test.txt |
    ForEach-Object {$_.SKILL = "Java"; $_} |
    Export-Csv test_out.txt -NoTypeInformation

然而Export-Csv在值周围添加了引号,因此test_out.txt看起来像这样:

"NAME","AGE","OFFICE","DEPT","SKILL"
"jack","24","IBM","Retail","Java"
"tom","32","MS","BFSI","Java"
"SAM","44","MGR","Test","Java"

也许你应该简单地将",Java"添加到每行第二行之后的末尾:

Get-Content test.txt |
    ForEach-Object { if($_.ReadCount -gt 1) { "$($_),Java" } else { $_ } } |
    Out-File test_out.txt
 类似资料:
  • 位置vcenter用户名密码abc 10.1 X xxx def 10.2 Y yyy 一个csv文件,其位置列是一个位置,该位置的IP列表示vCenter IP 我需要生成所有主机详细信息,并添加位置字段作为最终csv中的第一个字段,但无法这样做 实例 假设位置abc有一个带有5台主机的vcenter,位置def有一个带有3台主机的vcenter 输出shd看起来像 位置名称版本abc h1 6

  • 我有一个保存文件路径信息的CSV。如果我将单元格合并在一起并在它们之间添加“/”,就可以创建完整的文件路径。有时这些单元格可以是空的,或者其中有多个目录。Eg.桌面/文件夹A/FolderB 因此,我有了剧本: 这将生成输出测试文件,该文件看起来有点像: 人力资源中心///人力资源中心/文件//, 人力资源中心/员工服务//员工服务-内部/员工服务/程序/a/b/c, HR/HR业务合作伙伴//人

  • 问题内容: 我想知道是否可以使用函数将数据框添加到现有的csv文件中。csv文件与加载的数据具有相同的结构。 问题答案: 你可以在函数中指定python写入模式。对于追加,它是。 在你的情况下: 默认模式为。

  • 问题内容: 将空列添加到pandas对象的最简单方法是什么?我偶然发现的最好的东西是 有没有那么不合常理的方法? 问题答案: 如果我理解正确,则应填写作业:

  • 向pandas对象添加空列的最简单方法是什么?我偶然发现的最好的东西是 有没有一种不那么反常的方法?

  • 这是我的app.js 输入的数据用于分析图表,其中数据集必须在“标签”旁边显示一周中的每一天。我是AngularJS、ChartJS和JSON的新手,请建议 以下是请求数据的工作Plunkrhttp://plnkr.co/edit/Pfxc4JrKhv9SNlRUWqHi?p=preview