2016-11-23 135 views
1

我正在研究使用PapaParse作爲CSV解析器的CSV上傳程序。對於我的CSV,我希望我的第一列充當解析數據的頭部,而不是第一行。爲了獲得預期的結果,我必須在上傳之前在編輯器中手動轉換CSV。使用PapaParse解析帶標頭的轉置CSV

其原因是我的用戶發現,當標題位於第一列而非第一行時,編輯CSV要容易得多。有沒有一種方法可以在PapaParse(甚至是PapaParse之外的JavaScript)中執行此操作?

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

Sorry.Just意識到這個問題.. – Searching

回答

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}, {})) 
+0

我一直在尋找到更早但問題出現在我想使用標題的時候。當PapaParse輸出結果時,標題不正確,因此進行換位並不能解決該問題。 – Dylan

+0

您可以舉例說明什麼輸入(csv),您想要接收JSON的輸出? –

+0

沒關係,我明白你的意思 –