json - 如何在 Vue 中将 CSV 文件转换为 JSON
问题描述
您好,我正在使用 Axios 使用来自 API 的数据,问题是这些数据是 csv 格式的,我正在尝试将其转换为 JSON 对象。
我尝试使用一些 js 库,但它们都不能与 Vue 一起使用
我能做些什么?
例子:
(这是数据的表示方式)
fecha,casos_total,casos_pcr,casos_test_ac,altas,fallecimientos,ingresos_uci,hospitalizados
2020-02-21,3,3,,,,,
2020-02-22,3,3,,,,,
2020-02-23,3,3,,,,,
2020-02-24,3,3,,,,,
2020-02-25,4,4,,,,,
(这就是我想要显示的方式)
[
{
"fecha": "2020-02-21",
"casos_total": 3,
"casos_pcr": 3,
"casos_test_ac": "",
"altas": "",
"fallecimientos": "",
"ingresos_uci": "",
"hospitalizados": ""
},
{
"fecha": "2020-02-22",
"casos_total": 3,
"casos_pcr": 3,
"casos_test_ac": "",
"altas": "",
"fallecimientos": "",
"ingresos_uci": "",
"hospitalizados": ""
},
{
"fecha": "2020-02-23",
"casos_total": 3,
"casos_pcr": 3,
"casos_test_ac": "",
"altas": "",
"fallecimientos": "",
"ingresos_uci": "",
"hospitalizados": ""
},
{
"fecha": "2020-02-24",
"casos_total": 3,
"casos_pcr": 3,
"casos_test_ac": "",
"altas": "",
"fallecimientos": "",
"ingresos_uci": "",
"hospitalizados": ""
},
{
"fecha": "2020-02-25",
"casos_total": 4,
"casos_pcr": 4,
"casos_test_ac": "",
"altas": "",
"fallecimientos": "",
"ingresos_uci": "",
"hospitalizados": ""
}
]
谢谢!
解决方案
const input = `fecha,casos_total,casos_pcr,casos_test_ac,altas,fallecimientos,ingresos_uci,hospitalizados
2020-02-21,3,3,,,,,
2020-02-22,3,3,,,,,
2020-02-23,3,3,,,,,
2020-02-24,3,3,,,,,
2020-02-25,4,4,,,,,`
const lines = input.split('\n') // 1️⃣
const header = lines[0].split(',') // 2️⃣
const output = lines.slice(1).map(line => {
const fields = line.split(',') // 3️⃣
return Object.fromEntries(header.map((h, i) => [h, fields[i]])) // 4️⃣
})
console.log(output)
推荐阅读
- c# - 在 CSS 中使用 .Net ConfigurationManager.AppSettings
- android - 来自多个依赖项的重复类问题
- android - android.useAndroidX=false 构建 ionic android 时的覆盖值
- c++ - 如何成功链接 ImageMagic 静态库?
- json - 如何在 Spark 中更新数据框列
- c# - 我的表情
> 函数不是返回变量值,而是 value.(c__DisplayClass12_7).value - python - Pandas 基于多列计算值的最快方法
- ssh - 通过本地 tmux 会话在 ssh 上使用 tmux 命令
- postgresql - pg_stats_activity.datname 在一条记录上为空
- java - HttpURLConnection 方法卡在当前线程中;