【发布时间】:2020-03-08 10:11:24
【问题描述】:
我在 CSV 文件中有数百行,同时包含如下所示的 JSON 数据。下面是每一行的示例。
{"Id":"value","RecordType":"value","CreationTime":"value","Operation":"value"}
我尝试将其转换为 CSV,如下所示,但到目前为止没有运气。
CSV 文件的预期格式:
id RecordType CreationTime 操作 价值价值价值价值$properties = @('Id', 'RecordType', 'CreationTime', 'Operation')
(Get-Content -Path-to_CSVfile -Raw | ConvertFrom-Json) |
Select-Object -Property $properties |
Export-Csv -NoTypeInformation -Path $path-to-new-csv-file
如果有人对此有任何想法,请帮助我。我尝试了ConvertTo-Json,但失败并出现错误:
ConvertFrom-Json:无效的 JSON 原语:“id”
这是前两行 CSV 数据。
{"Id":"ac325bc9-97f0-4b29-8fc4-90b80b945f6c","RecordType":20,"CreationTime":"2019-09-14T08:07:22","Operation":"AnalyzedByExternalApplication","OrganizationId" :"f38a5ecd-2813-4862-b11b-ac1d563c806f","UserType":0,"UserKey":"3fee8456-6d20-4794-8219-5a7c381e965f","工作负载":"PowerBI","UserId":"abcd@ mail.com","ClientIP":"000.000.50.177","UserAgent":"MSOLAP 15.0 Client","Activity":"AnalyzedByExternalApplication","ItemName":"Other","DatasetName":"XYZ Driven Company" ,"ObjectId":"Other","IsSuccess":true,"RequestId":"6836be8e-6e97-4bc9-a838-bf6e7b71e0c8","ActivityId":"7E92AE6A-F548-448D-93A8-6F5736DEA085"} {"Id":"3a20c8a9-ef44-483a-b9c0-43e10deae9ae","RecordType":20,"CreationTime":"2019-09-14T08:07:20","Operation":"AnalyzedByExternalApplication","OrganizationId" :"f38a5ecd-2813-4862-b11b-ac1d563c806f","UserType":0,"UserKey":"3fee8456-6d20-4794-8219-5a7c381e965f","工作负载":"PowerBI","UserId":"abcd@ mail.com","ClientIP":"000.000.50.177","UserAgent":"MSOLAP 15.0 Client","Activity":"AnalyzedByExternalApplication","ItemName":"Other","DatasetName":"XYZ Driven Company" ,"ObjectId":"Other","IsSuccess":true,"RequestId":"02e5d772-057b-45b6-ae60-22b7fa610f98","ActivityId":"7E92AE6A-F548-448D-93A8-6F5736DEA085"}我正在另一个 CSV 文件中查看这些数据,如下所示。 ":" 之后的每个值都应作为行插入 CSV。
Id RecordType CreationTime Operation OrganizationId UserType UserKey Workload UserId ClientIP UserAgent Activity ItemName DatasetName ObjectId IsSuccess RequestId ActivityId AC325BC9-97F4-90B29-8FC4-90B80B945F6C 20 2019-09-14T08:07:22分析了externalApplication F38A5CD-2813-4862-B11B-AC1D563C806F 0 3FEE8456-6D20-4794-8219- 5A7C381E965F PowerBI ABCD@mail.com 000.000.50.177 MSOLAP 15.0 Client AnalyzedByExternalApplication Other xyz Driven Company Other TRUE 6836be8e-6e97-4bc9-a838-bf6e7b71e0c8 7E92AE6A-F548-448D-93A8-6F5736DEA085 3a20c8a9-ef44-483a-b9c0-43e10deae9ae 20 2019-09-14T08:07:20分析了externalApplication F38A5CD-2813-4862-B11B-AC1D563C806F 0 3FEE8456-6D20-4794-8219-5A7C381E965F PowerBI ABCD@mail.com 000.000.50.177 MSOLAP 15.0 Client AnalyzedByExternalApplication Other XYZ Driven Company Other TRUE 02e5d772-057b-45b6-ae60-22b7fa610f98 7E92AE6A-F548-448D-93A8-6F5736DEA085在文本编辑器中打开 CSV 时更正数据。
"{""Id"":""ac325bc9-97f0-4b29-8fc4-90b80b945f6c"",""RecordType"":20,""CreationTime"":""2019-09-14T08:07:22 "",""Operation"":""AnalyzedByExternalApplication"",""OrganizationId"":""f38a5ecd-2813-4862-b11b-ac1d563abchrf"",""UserType"":0,""UserKey"":" "3fee8456-6d20-4794-8219-5a7c38abcdfe"",""工作负载"":""Pxyswer"",""UserId"":""abcd@mail.com"",""ClientIP"":""123.456 .50.177"",""UserAgent"":""MSOLAP 15.0 客户端"",""Activity"":""AnalyzedByExternalApplication"",""ItemName"":""Other"",""DatasetName"":" "ABCD 驱动公司"",""ObjectId"":""Other"",""IsSuccess"":true,""RequestId"":""6836be8e-6e97-4bc9-a838-bf6e7b71e0c8"",""ActivityId "":""7E92AE6A-F548-448D-93A8-6F5736DEA085""}"
【问题讨论】:
-
请发布引发错误的完整代码(包括您如何导入 csv)
-
您根本无效,请尝试在线 json 验证器(例如:jsonformatter.curiousconcept.com)并检查/更正您的 json。
-
您的数据、代码和错误信息不匹配。请创建一个minimal reproducible example,测试运行 that 代码以确保它仍然显示您正在尝试调试的行为,然后edit 您的问题并复制/粘贴 that i> 代码以及具有代表性的示例数据以及 那个 代码引发的完整错误。不要在 cmets 中发布代码,因为那是不可读的。
-
我在这里粘贴了示例数据,因为我无法粘贴所有内容以及我用来将 CSV 中的 JSON 转换为 CSV 中的列的代码。
-
您发布的示例数据会给出与您显示的错误不同的错误,如果您确实按照我给您的说明进行操作,您就会清楚这一点。我已经将您之前评论中的代码添加到问题中。无需再次添加。
标签: json powershell csv