csv 文件和 json 文件的相互转换

csv文件方便批量编辑,可以借助excel完成

json文件作为一些软件的配置文件也经常出现,于是就有了文章标题的需求。

借助vscode+Fitten我快速开发并测试通过,用一段powershell代码来完成这个功能:

# JSON 转换为 CSV
function Convert-JsonToCsv {
    param (
        [string]$jsonPath,  # JSON 文件路径
        [string]$csvPath    # CSV 文件路径
    )
    # 读取 JSON 文件内容
    $jsonContent = Get-Content -Path $jsonPath -Encoding UTF8 | Out-String
    # 将 JSON 转换为 PowerShell 对象
    $data = $jsonContent | ConvertFrom-Json
    # 将 PowerShell 对象导出为 CSV 文件(指定 UTF-8 编码)
    $data | Export-Csv -Path $csvPath -NoTypeInformation -Encoding UTF8
    Write-Host "JSON 文件 $jsonPath 已成功转换为 CSV 并保存为 $csvPath"
}
# CSV 转换为 JSON
function Convert-CsvToJson {
    param (
        [string]$csvPath,   # CSV 文件路径
        [string]$jsonPath   # JSON 文件路径
    )
    # 从 CSV 文件导入数据(指定 UTF-8 编码)
    $csvData = Import-Csv -Path $csvPath -Encoding UTF8
    # 将 CSV 数据转换为 JSON 格式
    $jsonData = $csvData | ConvertTo-Json
    # 将 JSON 数据保存到文件(指定 UTF-8 编码)
    $jsonData | Out-File -FilePath $jsonPath -Encoding UTF8
    Write-Host "CSV 文件 $csvPath 已成功转换为 JSON 并保存为 $jsonPath"
}

把这段代码保存为 ConvertCsvJson.ps1,用  ipmo .\ConvertCsvJson.ps1 导入这个模块,测试如下:

Convert-CsvToJson .\config.csv config111.json

Convert-JsonToCsv config111.json config123.csv

都是成功的,这样就完成了相互转换。

我把json转换成csv后用excel快速编辑,编辑完再转回json作为配置文件让软件加载运行,节省了大量时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值