簡體   English   中英

如何通過將標題更改為類別並將所有值更改為一列來讀取多列 CSV?

[英]How to read multiple column CSV by changing headers into categories and all values into one column?

我想在d3.js中創建一個多折線圖,數據在csv中,組織如下:

¦Date      ¦ Cat A¦ Cat B¦ Cat C¦  
¦:---------¦:----:¦:----:¦-----:¦  
¦2019-12-01¦2     ¦6     ¦9     ¦  
¦2018-11-02¦4     ¦4     ¦20    ¦ 

如何讀取要排列成三列的數據:

¦Date      ¦ Category¦ value ¦  
¦:---------¦:-------:¦------:¦  
¦2019-12-01¦CAT A    ¦2      ¦  
¦2018-11-02¦CAT A    ¦4      ¦  
¦2019-12-01¦CAT B    ¦6      ¦  
¦2018-11-02¦CAT B    ¦9      ¦  

請注意,我想忽略其中一列(CAT C)

通常在 D3 中,導入扁平數據,然后相應地對其進行分組或嵌套。 這意味着(據我所知)進行反向操作的工具並不是那么自然。 在這種情況下,使用 vanilla Javascript 可能簡單易讀:

    const data = [
        { Date: '2019-12-01', 'A' : 2, 'B' : 6, 'C' : 9  }, 
        { Date: '2018-11-02', 'A' : 4, 'B' : 4, 'C' : 20 }
    ];
    
    console.log(data)
    
    result = [];
    
    data.forEach(row => {
                 let a = (({ Date, A, B, C }) => ({ Date, A}))(row);
                 result.push(a)
                 let b = (({ Date, A, B, C }) => ({ Date, B}))(row);
                 result.push(b)
                 });
    console.log(result);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM