Javascript中类似数据帧的操作

时间:2016-11-16 10:46:00

标签: javascript pandas dataframe

我喜欢Python或Scala中的Spark数据帧API,或Python中的Pandas来表达典型的数据操作,如过滤,选择,简单连接等。

对于一个小项目,我意识到使用Spark做这个服务器端是一个巨大的矫枉过正,在Python服务器端做这个也是一种矫枉过正,这可以在Javascript中直接在Angular2应用程序中完成。

我为应用程序的该部分构建了一个Angular“数据操作”service,该服务会将数据查询委托给另一个执行REST调用的服务。

问题是:我找不到用于此目的的JS库,我应该自己构建它还是有人提供更多信息或建议使用不同的技术?

1 个答案:

答案 0 :(得分:1)

你应该尝试使用Data-Forge:一个受Pandas和LINQ启发的JavaScript数据操作工具包。

以下是转换CSV文件的示例:

dataForge.readFileSync('input.csv')     // Read input file.
    .parseCSV()                         // Parse CSV data to a dataframe. 
    .parseInts("Column2", "Column3")    // Parse from strings to integers.
    .parseDates("Column4")              // Parse from strings to date objects.
    .dropSeries("Column5")              // Don't want column 5.
    .where(row => predicate(row))       // Filter out rows that you don't want.
    .select(row => transform(row))      // Apply transformation to each row.
    .asCSV()                            // Write out data file in CSV (or other) format.
    .writeFileSync('output.csv');       // Write output file.

http://www.data-forge-js.com/