使用PapaParse解析带有标题的转置CSV

时间:2016-11-23 23:46:34

标签: javascript jquery json csv papaparse

我正在处理使用PapaParse作为CSV解析器的CSV上传器。对于我的CSV,我希望我的第一列充当解析数据的标题,而不是第一行。为了获得预期的结果,我在上传之前必须在编辑器中手动转置CSV。

原因是我的用户发现当标题位于第一列而不是第一行时,编辑CSV会更容易。我有没有办法在PapaParse(甚至是PapaParse之外的JavaScript)中做到这一点?

if (file != null) {
    Papa.parse(file, {
        header: true,
        complete: function (results, file) {
            console.log("Parsing complete: ", results, file);
        }
    });
}

1 个答案:

答案 0 :(得分:1)

我建议用PapaParse解析数组,然后用JS对结果进行转置。

使用此方法:https://stackoverflow.com/a/4492703/1625793

所以它看起来像transpose(result.data)

- 更新 -

const transposed = transpose(result.data)
const headers = transposed.shift();
const res = transposed.map(row => row.reduce((acc, col, ind) => {acc[headers[ind]] = col; return acc}, {}))