node + TypeScript读取csv文件为二维数组
在数据分析的时候经常需要读取csv格式的源文件,谷歌在2020年推出了 Python 数据分析中最重要的核心第三方包 Pandas
所对应的 JavaScript 版本,那就是Danfo.js,Danfo和Pandas具有一模一样的API(除了极少数接口在目前的没有实现,如离散化分箱的pd.cut等等)。你可以选择使用Danfo中提供的接口来读取CSV
、Excel
等文件,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);