使用 PapaParse 解析具有 headers 的转置 CSV

Parse a transposed CSV with headers using PapaParse

我正在开发一个使用 PapaParse 作为 CSV 解析器的 CSV 上传器。对于我的 CSV,我希望我的第一列作为解析数据的 header 而不是第一行。为了获得预期的结果,我不得不在上传之前在编辑器中手动转置 CSV。

原因是当 header 位于第一列而不是第一行时,我的用户发现编辑 CSV 文件要容易得多。有什么办法可以在 PapaParse 中执行此操作(甚至 JavaScript 在 PapaParse 之外)?

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

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

使用此方法:

所以它看起来像那样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}, {}))