Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用PapaParse解析转置的CSV和标头_Javascript_Jquery_Json_Csv_Papaparse - Fatal编程技术网

Javascript 使用PapaParse解析转置的CSV和标头

Javascript 使用PapaParse解析转置的CSV和标头,javascript,jquery,json,csv,papaparse,Javascript,Jquery,Json,Csv,Papaparse,我正在开发一个CSV上传程序,它使用CSV解析器。对于我的CSV,我希望我的第一列充当解析数据的标题,而不是第一行。为了得到预期的结果,我不得不在上传之前在编辑器中手动转换CSV 这样做的原因是,当标题位于第一列而不是第一行时,我的用户发现编辑CSV要容易得多。有没有一种方法可以在PapaParse(甚至是PapaParse之外的JavaScript)中实现这一点 我建议使用PapaParse解析数组,然后使用JS对结果执行转置 使用此方法: 所以它看起来像是转置(result.data) --

我正在开发一个CSV上传程序,它使用CSV解析器。对于我的CSV,我希望我的第一列充当解析数据的标题,而不是第一行。为了得到预期的结果,我不得不在上传之前在编辑器中手动转换CSV

这样做的原因是,当标题位于第一列而不是第一行时,我的用户发现编辑CSV要容易得多。有没有一种方法可以在PapaParse(甚至是PapaParse之外的JavaScript)中实现这一点


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

使用此方法:

所以它看起来像是
转置(result.data)

--更新--


我在前面研究过这个问题,但是当我想使用标题时,问题就来了。当PapaParse输出结果时,标题不正确,因此进行转置无法解决该问题。您能否给出一个示例,说明您希望接收什么输入(csv)、什么输出JSON?非常感谢!这很有效!我不得不改变一些事情,比如将“header:true”设置为“header:false”,以使其正常工作。对不起,我刚刚意识到了这个问题。。
if (file != null) {
    Papa.parse(file, {
        header: true,
        complete: function (results, file) {
            console.log("Parsing complete: ", results, file);
        }
    });
}
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}, {}))