簡體   English   中英

使用powershell將csv轉換為json

[英]Convert csv to json using powershell

我有一個 csv 文件,當我使用 convertto-json 轉換它時,出現以下錯誤

ConvertTo-Json :轉換后的 JSON 字符串格式錯誤。 在 line:1 char:70 + Get-Content -path E:\\test.csv | ConvertFrom-Csv -Delimiter ',' | ConvertTo-J ... + ~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (@{name=WebError.Show; data=1}:PSObject) [ConvertTo-Json], InvalidOperationException +fullyQualifiedErrorId : JsonStringInBadFormat ,Microsoft.PowerShell.Commands.ConvertToJsonCommand

當我將 -compress 與 convertto-json 一起使用時,我得到了輸出,但它是一個很難看的壓縮 json 版本,是否有更好的方法將此 csv 轉換為 json 或有沒有辦法解壓縮 json

CSV:

name,data
Play,http://{gho}.domain.com/
BDomain,domain.com
Charts,2
Compress,0
CompressJ,0
WebError.Show,1

壓縮的 Json 輸出:

[{"name":"Play","data":"http://{gho}.domain.com/"},{"name":"BDomain","data":"domain.com"},{"name":"Charts","data":"2"},{"name":"Compress","data":"0"},{"name":"CompressJ"
,"data":"0"}]

在您的示例字符串中使用ConvertFrom-Csv和ConvertTo-Json似乎沒有任何問題。

使用:

"name,data
Play,http://{gho}.domain.com/
BDomain,domain.com
Charts,2
Compress,0
CompressJ,0" | ConvertFrom-Csv | ConvertTo-Json

給我:

[
    {
        "name":  "Play",
        "data":  "http://{gho}.domain.com/"
    },
    {
        "name":  "BDomain",
        "data":  "domain.com"
    },
    {
        "name":  "Charts",
        "data":  "2"
    },
    {
        "name":  "Compress",
        "data":  "0"
    },
    {
        "name":  "CompressJ",
        "data":  "0"
    }
]

您能發布會給您錯誤的PowerShell代碼嗎?

Import-Csv $File | Convertto-Json

這可能對您有用。

下面的 Powershell 命令從INPUTFILE.csv文件格式創建OUTPUTFILE.json格式文件:

import-csv .\INPUTFILE.csv | ConvertTo-Json -depth 100 | Out-File .\OUTPUTFILE.json

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM