【发布时间】:2021-10-10 23:19:54
【问题描述】:
我正在使用 powershell,并且我有一个包含大量数据的 csv 文件,但我唯一关心的字段是第一个字段。
我需要:
- 提取带有标题的第一列数据:Ticket_ID
- 从该列 (site:) 中的值中删除尾随字符串
- 将列中的所有值合并到一个以空格分隔的行中,但要确保每个值都保留将每个值括起来的双引号。
- 在此行前添加一个长字符串并将其写入文件。 (我还没有尝试解决这部分问题,因为我无法让 1-3 充分工作。)
我已经尝试了这段代码的几种排列方式:
$TT = (Import-Csv '.\sourcefile.csv').______Ticket_ID______ -join (" ")
$TT = $TT -replace 'site:',''
$TT | Set-Content -Path .\JulyTickets.csv
我的 csv 示例:
"______Ticket_ID______","____________Title____________","___________CreateDate___________"
"site:TICKET1","SOMETITLE","01/01/1901"
"site:TICKET2","SOMETITLE","01/01/1901"
"site:TICKET3","SOMETITLE","01/01/1901"
"site:TICKET4","SOMETITLE","01/01/1901"
"site:TICKET5","SOMETITLE","01/01/1901"
我的不满: 如果我使用 Export-CSV,则生成的 csv 仅包含值的字符长度。
如果我使用 Set-Content,我可以成功提取第一列,并删除前导字符串 (site:),将所有行合并为一行,并将其写入文件但它不保留csv 中每个值的双引号(“site:TICKET1”)。输出如下所示:
TICKET1 TICKET2 TICKET3 TICKET4 TICKET5
我不确定我在这里做的事情是否有问题,或者我是否遗漏了一些东西,但我无法将两个值都内联,并单独用引号括起来。
所需输出:
this is a long string that needs to be prepended to the data "TICKET1" "TICKET2" "TICKET3" "TICKET4" "TICKET5"
【问题讨论】:
标签: powershell csv