PapaParse "unparse" 函数可以使用不同的 headers 吗?
Can the PapaParse "unparse" function work with varying headers?
我正在尝试使用 PapaParse 库 (http://papaparse.com/) 将 JavaScript objects/JSON 转换为 CSV 文件。特别是在我的例子中,每条记录可能有不同的字段。我希望生成的 CSV 输出是给定记录的所有字段的集合。取下面的JSON:-
[
{"name":"ken",
"age":"35"},
{"name":"joe",
"age":"37",
"shoe_size":"12"},
{"name":"fred",
"age":"26",
"favourite_colour":"blue"}
]
你会看到"fred"有一个"favourite_colour","joe"有一个"shoe_size",他们都有名字和年龄。
如果我将该代码粘贴到此处:https://konklone.io/json/
我得到这样的结果:-
name age shoe_size favourite_colour
ken 35
joe 37 12
fred 26 blue
本质上它解析整个数据集,并填充每个 header 如果它存在,这就是我想要的。但是,如果我使用 PapaParse 函数:-
Papa.unparse('[{"name":"ken","age":"35"},{"name":"joe","age":"37","shoe_size":"12"},{"name":"fred","age":"26","favourite_colour":"blue"}]',{type:"text/csv;charset=utf-8"});
我得到:-
name age
ken 35
joe 37
fred 26
所以看起来 Papa.unparse() 函数只注意到 first 记录中的 headers,并忽略任何记录随后发生。
我知道理论上我可以通过确保第一条记录有每个字段来捏造它,即使它是空白的,但想知道是否有 feature/option如果没有这样的劝说?
,这将使它以这种方式工作
谢谢
我认为您可以显式传递字段以进行解析,如下所示:
var csv = Papa.unparse({
fields: ["name", "age", "shoe_size", "favourite_color"],
data: [
{"name":"ken",
"age":"35"},
{"name":"joe",
"age":"37",
"shoe_size":"12"},
{"name":"fred",
"age":"26",
"favourite_colour":"blue"}
]
});
我正在尝试使用 PapaParse 库 (http://papaparse.com/) 将 JavaScript objects/JSON 转换为 CSV 文件。特别是在我的例子中,每条记录可能有不同的字段。我希望生成的 CSV 输出是给定记录的所有字段的集合。取下面的JSON:-
[
{"name":"ken",
"age":"35"},
{"name":"joe",
"age":"37",
"shoe_size":"12"},
{"name":"fred",
"age":"26",
"favourite_colour":"blue"}
]
你会看到"fred"有一个"favourite_colour","joe"有一个"shoe_size",他们都有名字和年龄。
如果我将该代码粘贴到此处:https://konklone.io/json/
我得到这样的结果:-
name age shoe_size favourite_colour
ken 35
joe 37 12
fred 26 blue
本质上它解析整个数据集,并填充每个 header 如果它存在,这就是我想要的。但是,如果我使用 PapaParse 函数:-
Papa.unparse('[{"name":"ken","age":"35"},{"name":"joe","age":"37","shoe_size":"12"},{"name":"fred","age":"26","favourite_colour":"blue"}]',{type:"text/csv;charset=utf-8"});
我得到:-
name age
ken 35
joe 37
fred 26
所以看起来 Papa.unparse() 函数只注意到 first 记录中的 headers,并忽略任何记录随后发生。
我知道理论上我可以通过确保第一条记录有每个字段来捏造它,即使它是空白的,但想知道是否有 feature/option如果没有这样的劝说?
,这将使它以这种方式工作谢谢
我认为您可以显式传递字段以进行解析,如下所示:
var csv = Papa.unparse({
fields: ["name", "age", "shoe_size", "favourite_color"],
data: [
{"name":"ken",
"age":"35"},
{"name":"joe",
"age":"37",
"shoe_size":"12"},
{"name":"fred",
"age":"26",
"favourite_colour":"blue"}
]
});