当前位置 博文首页 > jcLee95的博客:node + ts读取csv文件为二维数组

    jcLee95的博客:node + ts读取csv文件为二维数组

    作者:[db:作者] 时间:2021-09-18 15:46

    node + TypeScript读取csv文件为二维数组

    CSDN用户名:jcLee95

    邮箱:291148484@163.com

    原创不易,感谢点赞支持。


    在数据分析的时候经常需要读取csv格式的源文件,谷歌在2020年推出了 Python 数据分析中最重要的核心第三方包 Pandas 所对应的 JavaScript 版本,那就是Danfo.js,Danfo和Pandas具有一模一样的API(除了极少数接口在目前的没有实现,如离散化分箱的pd.cut等等)。你可以选择使用Danfo中提供的接口来读取CSVExcel等文件,Danfo读取后的数据结构与Pandas中一样,也是著名的 DataFrame

    这里我们不使用Danfo这一现成的数据分析库,直接手写一个读取csv读取函数。

    var fs = require("fs");
    
    /** 
     * @param csvfile {string} 表示文件路径的字符串
     * @returns data {Array}
     */
    export function read_csv_line(csvfile: string): string[]{
      let csvstr: string = fs.readFileSync(csvfile,"utf8",'r+');
      let arr: string[] = csvstr.split('\n');
      let array: any = [];
      arr.forEach(line => {
        array.push(line.split(','));
      });
      return array
    }
    

    Tips:

    • 使用typescript+nodejs时需要在目录下配置tsconfig.json文件,同时导入node库时需要安装以下内容:
      npm i --save-dev @types/node
      

    使用该函数具体实例:

    let file_path:string = 'G:/TypeScript数据结构与算法/datas/high_diamond_ranked_10min.csv';
    let ary: string[] = read_csv_line(file_path)
    console.log(ary);
    

    在这里插入图片描述

    cs