【发布时间】:2021-12-12 18:21:48
【问题描述】:
我有这个循环:
foreach($line in Get-Content .\script2.csv)
{ $firstname = $line.split(';')[0]
$lastname = $line.split(';')[1]
$email = $line.split(';')[2]
$newLine = """$firstname"",""$lastname"",""$email"""
$newLine >> newCSV.csv }
我想添加一个特定的标题,但我不知道在我的小脚本中应该在哪里写“-header”。
谢谢
编辑:
我有一个这样的文件:
A;B;C
A;B;C
A;B;C
A;B;C
我需要这个:
"info1","info2","info3",...,"info18"
"A","B",C","","","","","","","","","","","","","","",""
"A","B",C","","","","","","","","","","","","","","",""
"A","B",C","","","","","","","","","","","","","","",""
"A","B",C","","","","","","","","","","","","","","",""
【问题讨论】:
-
Import-Csv -Path .\script2.csv -Header 'FirstName','LastName','Email'。正如我试图在您的previous question 中解释的那样,在处理 CSV 文件时您不应该使用Get-Content。顺便提一句。 CSV 不是 Excel,而是由特定字符(通常是逗号)分隔的一组结构化数据 -
是的,我明白了。我用 Import-Csv 尝试了一些语法,但之后我不知道如何编写我的循环。在我的情况下,我需要一个像 ("a","b","c","d"...) 这样的标题,然后是我从循环中提取的所有数据,这就是我迷路的地方......
-
你根本不需要循环。 Import-Csv 将 csv 中的数据解析为 objects 并将这些数据写入新的 csv 文件,使用 Export-Csv。您没有阅读/尝试上一个问题中的my answer 吗?
-
我当然读过,所以,也许你可以帮助我。我需要从第 2 行获取所有数据并将它们连接在一列中。这就是我尝试使用循环但肯定有更简单的方法的原因。我的问题是,我不知道正确的语法,自从 2 周以来我一直在网上查看,但是当你是初学者时,独自一人很难。
-
非常感谢,它有效!这都是我的错,我认为逗号之间的每个“”都很重要,但事实并非如此。谢谢!
标签: powershell csv foreach header