评论

CSV/Excel文件一键转成云开发数据库的json文件

将CSV文件转成云开发数据库可以导入的json文件

使用Excel导入云开发的数据库,数据量比较大的时候会出现一些问题,我们可以将Excel转成CSV文件,让CSV的第一行为字段名(要是英文哦),然后使用以下代码将CSV文件转成json文件。

第一步,安装Nodejs环境,然后使用vscode新建一个 csv2json.js 的文件,将下面的代码拷贝进来;

第二步,在vscode的资源管理器里右键csv2json.js,在终端中打开,然后输入命令 npm install csvtojson replace-in-file

第三步,把要转化的csv文件放在同一个目录,这里换成你的文件即可,也就是下面的china.csv换成你的csv文件;

第四步,后面的代码都不用管,然后打开vscode终端,输入 node csv2json.js 执行,就会生成两个文件,一个是json文件,一个是可以导入到云开发数据库的data.json

//用vscode打开文件之后,npm install csvtojson replace-in-file
const csv=require('csvtojson')
const replace = require('replace-in-file');
const fs = require('fs')


const csvFilePath='china.csv' //把要转化的csv文件放在同一个目录,这里换成你的文件即可
//后面的代码都不用管,然后打开vscode终端,就会生成两个文件,一个是json文件,一个是可以导入到
csv()
.fromFile(csvFilePath)
.then((jsonObj)=>{
    // console.log(jsonObj);
    var jsonContent = JSON.stringify(jsonObj);
    console.log(jsonContent);   
    fs.writeFile("output.json", jsonContent, 'utf8', function (err) {
        if (err) {
            console.log("保存json文件出错.");
            return console.log(err);
        }
    
        console.log("JSON文件已经被保存为output.json.");
        fs.readFile('output.json', 'utf8', function (err,data) {
            if (err) {
              return console.log(err);
            }
            var result = data.replace(/},/g, '}\n').replace(/\[/,'').replace(/\]/,'')
            fs.writeFile('data.json', result, 'utf8', function (err) {
               if (err) return console.log(err);
            });
          });
    });
})

最后一次编辑于  2019-12-25  
点赞 2
收藏
评论

1 个评论

  • 村姑翠花
    村姑翠花
    01-15

    正好需要,非常感谢。

    01-15
    赞同
    回复 2
    • 李东bbsky
      李东bbsky
      01-15
      这个方案有很大的问题,建议还是CSV导入
      01-15
      1
      回复
    • 李东bbsky
      李东bbsky
      01-15
      我试过,2万条数据的CSV文件比json文件要小很多,大概只有八九分之一这样的一个大小关系。。。
      01-15
      1
      回复
登录 后发表内容