转换对象数组并附加到 csv 文件
Posted
技术标签:
【中文标题】转换对象数组并附加到 csv 文件【英文标题】:Converting array of Objects and appending to csv file 【发布时间】:2020-08-24 15:31:42 【问题描述】:我正在尝试将对象数组转换为 csv 并写入文件,或者如果文件已存在则追加。我找到了一个名为“object-to-csv”的包,但在我使用 7.8 时它需要 Node 8 或更高版本。这不是升级的选项,有什么替代方法可以解决这个问题?
【问题讨论】:
【参考方案1】:您可以复制他们在实现中添加的功能,它是一个包含大约 141 行代码的单个文件 (index.js),提升实现并使其与节点 7 一起工作并不难。
https://github.com/anton-bot/objects-to-csv/blob/master/index.js
或者,您希望展平对象(删除属性),将值保留为数组,然后将数组导出为 CSV 文件(使用 FS 或 fs-extra)。
如果我能提供进一步帮助,请随时与我们联系。
【讨论】:
我尝试过,将其全部转换为与 TypeScript 一起使用,但包“async-csv”也需要节点 8。它只在 index.js 的第 138 行调用,那么我也应该也从“async-csv.stringify”复制一些代码? 听起来你可能会掉进一个兔子洞,那该怎么办:github.com/miscavage/object-to-csv/blob/master/lib/… 一个无依赖的包,你需要删除.map()
语法,用一些东西替换它来自 Underscore.js (underscorejs.org) 或 Lodash (lodash.com),尽管您需要付出更多努力,但最终结果与您的要求兼容。为了更加礼貌,您甚至可以将您的版本作为 PR 提交,看看他们是否会考虑支持旧版本(他们可能不会,但谁知道)。
感谢您的帮助!我会在星期一试试这个。以上是关于转换对象数组并附加到 csv 文件的主要内容,如果未能解决你的问题,请参考以下文章