PowerShell无法写入csv文件。写入主机和导出Csv生成两种不同的输出

PowerShell无法写入csv文件。写入主机和导出Csv生成两种不同的输出,powershell,csv,converter,Powershell,Csv,Converter,操作系统-Windows 10 Powershell版本-5.1.15063.1088 好的,我真的很努力地从逻辑上思考这个PowerShell脚本可能会出什么问题,但显然无法获得想法并寻求帮助。这就是我要做的,简单到1+1 如果我正确理解了本教程,那么在PowerShell中创建数组如下所示: $someVariable = "PowerShell", "MowerShell", "HowerShell", "ZowerShell" 然后我只是想用逗号作为delimeter将这个东西写入cs

操作系统-Windows 10

Powershell版本-5.1.15063.1088

好的,我真的很努力地从逻辑上思考这个PowerShell脚本可能会出什么问题,但显然无法获得想法并寻求帮助。这就是我要做的,简单到1+1

如果我正确理解了本教程,那么在PowerShell中创建数组如下所示:

$someVariable = "PowerShell", "MowerShell", "HowerShell", "ZowerShell"
然后我只是想用逗号作为delimeter将这个东西写入csv文件,但首先在控制台输出中尝试一下

$someVariable | ConvertTo-Csv -NoTypeInformation

…指定分隔符以分隔属性值。默认值 是一个逗号(,)

因此,我不需要使用逗号作为分隔符的额外文字。执行命令
Write Host$someVariable
后,我看到以下奇怪的输出:

 "Length" "10" "10" "10" "10"
这是什么?我是否应该看到变量的值用简单的逗号分隔?所以从这些数字我可以猜到脚本计算出每个单词中字母的数量-

p-o-w-r-S-h-l

  • 包含10个字母
这是使用
converttocsv
命令计算字符串中字母数量的建议方法吗(以防我在下一次工作面试中获得PowerShell任务)

将这些古怪的数据写入csv文件本身会导致更意外的结果:

现在我完全不知道这些数字是什么。。。 是否可以将我的字符串作为字符串写入csv文件的一行,而不是愚蠢的数字

所需的输出是csv文件中作为标题的该条目:

"PowerShell","MowerShell","HowerShell","ZowerShell"
输出读数为“长度”,并有一系列10。每个字符串都有10个字符长(不考虑双引号)

长度可以用多种方法计算。我不会说有一个建议的方法,只有适合你尝试的方法

要获取csv中发布内容(无标题等)的文字,请尝试:

$someVariable | Out-File foo.csv

CSV转换对象。字符串实际上有一个length属性,这就是为什么在输出中会看到它。您的输出应该是什么样子的?CSV通常有标题。你的头是什么?假设这些字符串值(在问题中)是我的头…并且$myVariable不被认为是一个对象吗?一切都是一个对象。ConvertTo CSV接受集合中的每个对象,并为每个对象创建一行。此行具有对象具有的每个属性的字段。某种程度上。在本例中,您将向CSV传递字符串对象的集合。String对象有一个属性,Length。因此,输出的是一行,它是给出每个字段(属性)名称的标题。在这种情况下,只有长度字段(属性)。然后每个对象都有一行具有该属性(长度)的值。哦,至于为什么写入主机和写入文件的方式不同,我知道这个想法。如果我写入主机$someVariable