在powershell中将数据导出到csv

在powershell中将数据导出到csv,powershell,csv,Powershell,Csv,我想将我的数据导出到csv文件,有人能建议我怎么做吗 我的数据 @{Id=22; AccountId=56; ActivationDate=Wed, 25 Nov 2020 12:00 AM; AssignedBy=34} @{Id=23; AccountId=57; ActivationDate=Sun, 01 Nov 2020 12:00 AM; AssignedBy=35} @{Id=24; AccountId=58; ActivationDate=Sun, 01 Nov 20

我想将我的数据导出到csv文件,有人能建议我怎么做吗

我的数据

  @{Id=22; AccountId=56; ActivationDate=Wed, 25 Nov 2020 12:00 AM; AssignedBy=34}
  @{Id=23; AccountId=57; ActivationDate=Sun, 01 Nov 2020 12:00 AM; AssignedBy=35}
  @{Id=24; AccountId=58; ActivationDate=Sun, 01 Nov 2020 12:00 AM; AssignedBy=36}
谢谢,
Mahesh K

看起来像是格式化数据而不是导出为csv,因此:

Get-Content mydata | ForEach-Object { $line=$_.replace(";",","); $strp=$line.Split("[{}]"); Write-Output $strp[1] } > csvfile.csv
获取mydata中的每一行数据,并将任何“;”替换为“,”。拆分数据,以便我们可以在“{”和“}”之间找到数据打印转换后的行并重定向到新文件csvfile.csv

试试这个

$mydata = @()

$mydata +=  [pscustomobject]@{Id=22; AccountId=56; ActivationDate='Wed, 25 Nov 2020 12:00 AM'; AssignedBy=34}
$mydata +=  [pscustomobject]@{Id=23; AccountId=57; ActivationDate='Sun, 01 Nov 2020 12:00 AM'; AssignedBy=35}
$mydata +=  [pscustomobject]@{Id=24; AccountId=58; ActivationDate='Sun, 01 Nov 2020 12:00 AM'; AssignedBy=36}


$mydata | Export-Csv Myfile.csv -notype
首先要做的是将数据中的日期转换为字符串。这是必要的,以防止PS尝试解析逗号并混淆。无论如何,日期都将是csv文件中的字符串。如果你想找出表达日期的最佳方式,可以问另一个问题

接下来我要做的是将每个哈希表转换为PSCustomobject。导出csv知道如何使用这种类型的对象

下一步是将所有三项收集到一个数组中,并将其存储在一个变量中


最后,我通过管道将结果变量导入导出csv,提供了一个虚拟文件名。

到目前为止您尝试了什么?请显示您的代码。
$MyData |导出Csv。\MyData.Csv-分隔符“;”
Hi iRon,我已经尝试过这个,$testObject=[pscustomobject]$response.Content$testObject=$testObject | ConvertTo Csv$testObject |导出Csv'D:\Safe.Csv',我得到的输出是#TYPE System.String“Length”“8223967”,而不是Csv的形式请告诉我们
$myData
到底是什么。键入
$myData.GetType().FullName
。这是一个哈希表数组吗?一根绳子?你是如何获得这些数据的?它工作得很好,谢谢。