使用Papa解析器解析时更改列名称

时间:2019-11-22 11:40:19

标签: javascript export-to-csv papaparse

我有一个对象数组,我想使用Papa Parser JavaScript库将其转换为CSV格式。

到目前为止,我可以使用Papa.unparse函数转换对象数组,但是问题是列名。有没有一种方法可以在Papa.unparse函数中提供自定义列名,这样我就不必将现有的对象数组克隆到具有更改的列名的另一个对象数组中。

    var csvVal = Papa.unparse(callHistoryArray,{
                    quotes: false, //or array of booleans
                    delimiter: ",",
                    header: true,
                    newline: "\r\n",                        
                    columns: [
                            "_name",
                            "_number",                          
                            "_type",
                            "_mode",
                            "_duration",
                            "_objType",
                            "_dateTime"

                    ], //or array of strings


                }
        );

它生成以下输出

_name,_number,_type,_mode,_duration,_objType,_dateTime
Willey W,2314651324,outgoing,,0:50,Contact,1573553784000

我期望与此相反

'Name','Number','Type','Mode','Duration','Entity','DateTime'
Willey W,2314651324,outgoing,,0:50,Contact,1573553784000

1 个答案:

答案 0 :(得分:1)

您可以选择在解析数据时不创建标头,然后创建与它们连接的标头。

示例:

var callHistoryArray = [{ a: 1, b: 2 }, { a: 3, b: 4 }];

var csvVal = Papa.unparse(callHistoryArray, {
  header: false,
  columns: [
    "a",
    "b",
  ], //or array of strings
});

var headersVal = Papa.unparse({ fields: ['id', 'value'], data: [] });

var result = headersVal + csvVal;

console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/PapaParse/5.1.0/papaparse.js"></script>