我喜欢Python或Scala中的Spark数据帧API,或Python中的Pandas来表达典型的数据操作,如过滤,选择,简单连接等。
对于一个小项目,我意识到使用Spark做这个服务器端是一个巨大的矫枉过正,在Python服务器端做这个也是一种矫枉过正,这可以在Javascript中直接在Angular2应用程序中完成。
我为应用程序的该部分构建了一个Angular“数据操作”service
,该服务会将数据查询委托给另一个执行REST调用的服务。
问题是:我找不到用于此目的的JS库,我应该自己构建它还是有人提供更多信息或建议使用不同的技术?
答案 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.