将json转换为csv格式 [英] convert json to csv format

查看:247
本文介绍了将json转换为csv格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试使用json格式的文件作为输入。这是一个示例数据的片段。

  [
{
id:1671349531,
名称:A Wild Restaurant Expansion,
blurb:我们希望从我们当前的位置扩展到一个新的更好的设施,一个将为我们的追随者提供,
目标: 17000,
认捐:0,
状态:live,
slug:a-wild-restaurant-expansion,
disable_communication:false,
国家: US,
currency:USD,
currency_symbol:$,
currency_trailing_code:true,
截止日期:1425185940,
state_changed_at:1422373209,
created_at:1422141288,
launched_at:1422373209,
backers_count:0,
照片:{
full:https://s3.amazonaws.com/ksr/projects/ 1619167 / photo-full.jpg?1422144440,
ed:https://s3.amazonaws.com/ksr/projects/1619167/photo-ed.jpg?1422144440,
med: https://s3.amazonaws.com/ksr/projects/1619167/photo-med.jpg?1422144440,
little:https://s3.amazonaws.com/ksr/projects/1619167/photo- little.jpg?1422144440,
small:https://s3.amazonaws.com/ksr/projects/1619167/photo-small.jpg?1422144440,
thumb:https:// s3.amazonaws.com/ksr/projects/1619167/photo-thumb.jpg?1422144440,
1024x768:https://s3.amazonaws.com/ksr/projects/1619167/photo-1024x768.jpg? 1422144440,
1536x1152:https://s3.amazonaws.com/ksr/projects/1619167/photo-1536x1152.jpg?1422144440
},
creator:{
id:602131664,
name:Chef James Nelson,
avatar:{
thumb:https://s3.amazonaws.com/ksr/avatars/13830182/logo3.thumb .jpg?1422143536,
small:https://s3.amazonaws.com/ksr/avatars/13830182/logo3.small.jpg?1422143536,
medium:https:// s3 .amazonaws.com / ksr / avatars / 13830182 / logo3.medium.jpg?1422143536
},
urls:{
web:{
user:https:// www.kickstarter.com/profile/602131664
},
api:{
user:https://api.kickstarter.com/v1/users/602131664?signature=1422460143.21cd79c238aeae43e8a4311c18bf8e8cd2c3a39a
}
}
},
location:{
id:2433186,
name:Kissimmee,
slug:kissimmee -fl,
short_name:Kissimmee,FL,
displayable_name:Kissimmee,FL,
country:US,
state:FL,
type:Town,
is_root:false,
urls:{
web:{
discover:https://www.kickstarter.com/discover/places / kissimmee-fl,
location:https://www.kickstarter.com/locations/kissimmee-fl
},
api:{
nearby_projects:https ://api.kickstarter.com/v1/discover?signature = 1422447847.04d19a9efbe31a0d300969276d5d6f5ffa88a776& woe_id = 2433186
}
}
},
类别:{
id :312,
name:Restaurants,
slug:food / restaurants,
position:9,
parent_id:10,
urls:{
web:{
discover:http://www.kickstarter.com/discover/categories/food/restaurants
}
}
},
网址:{
web:{
project:https://www.kickstarter.com/projects/602131664/a-wild-restaurant-expansion?ref=newest,
奖励: https://www.kickstarter.com/projects/602131664/a-wild-restaurant-expansion/rewards
}
}
},
{
id:267033207,
name:The Razors Edge〜(基于费尔蒙的Giggling的书),
blurb:一部独立电影在最近出版的书上跟进。在开始的几个星期的发布,它已经牢牢抓住了世界。,
目标:5000,
承诺:0,
状态:活,

disable_communication:false,
国家:美国,
货币:美元 ,
currency_symbol:$,
currency_trailing_code:true,
截止日期:1424964564,
state_changed_at:1422372564,
created_at:1421465861,
launched_at:1422372564 ,
backers_count:0,
照片:{
full:https://s3.amazonaws.com/ksr/projects/1599522/photo-full.jpg?1421465884,
ed:https://s3.amazonaws.com/ksr/projects/1599522/photo-ed.jpg?1421465884,
med:https://s3.amazonaws.com/ksr/projects /1599522/photo-med.jpg?1421465884,
little:https://s3.amazonaws.com/ksr/projects/1599522/photo-little.jpg?1421465884,
small: https://s3.amazonaws.com/ksr/projects/1599522/photo-small.jpg?1421465884,
thumb:https://s3.amazonaws.com/ksr/projects/1599522/photo -thumb.jpg?1421465884,
1024x768:https://s3.amazonaws.com/ksr/projects/1599522/photo-1024x768.jpg?1421465884,
1536x1152:https:/ /s3.amazonaws.com/ksr/projects/1599522/photo-1536x1152.jpg?1421465884
},
创建者:{
id:198971258,
name:Jesse Gerken,
头像:{
thumb:https://s3.amazonaws.com/ksr/avatars/12370207/author_pic.thumb.jpg?1411309933,
small:https ://s3.amazonaws.com/ksr/avatars/12370207/author_pic.small.jpg?1411309933,
medium:https://s3.amazonaws.com/ksr/avatars/12370207/author_pic.medium .jpg?1411309933
},
urls:{
web:{
用户:https://www.kickstarter.com/profile/198971258
},
api:{
user:https://api.kickstarter.com/v1/users/198971258?signature=1422460143.dd7e5606db2806a10e516e1def16575c3aae41e1
}
}
},
location:{
id:2401584,
name:Fairmont,
slug:fairmont-wv,
short_name: WV,
displayable_name:Fairmont,WV,
国家:US,
状态:WV,
类型:城镇,
is_root :false,
urls:{
web:{
discover:https://www.kickstarter.com/discover/places/fairmont-wv,
location: https://www.kickstarter.com/locations/fairmont-wv
},
api:{
nearby_projects:https://api.kickstarter.com/v1/discover? signature = 1422448035.58aff9025d72453411d574df4707a417d4b7b970& woe_id = 2401584
}
}
},
category:{
id:297,
name:Horror
slug:film& video / horror,
position:10,
parent_id:11,
urls:{
web:{
discover:http://www.kickstarter。 com / discover / categories / film%20&%20video / horror
}
}
},
urls:{
web:{
project :https://www.kickstarter.com/projects/198971258/the-razors-edge-based-on-the-book-giggling-in-fair?ref=newest,
rewards:https: //www.kickstarter.com/projects/198971258/the-razors-edge-based-on-the-book-giggling-in-fair/rewards
}
}
},
{
id:1791731386,
名称:PulseAuction,
blurb:寻找促销资金为PulseAuction.com - 一个专利的在线拍卖网站。我们已经取消了每次出价费用!加入革命,
目标:7000,
承诺:0,
状态:live,
slug:pulseauction,
disable_communication:
国家:US,
currency:USD,
currency_symbol:$,
currency_trailing_code:true,
截止日期:1424964553,
state_changed_at:1422372553,
created_at:1419635170,
launched_at:1422372553,
backers_count:0,
照片:{
full:https://s3.amazonaws。 com / ksr / projects / 1559949 / photo-full.jpg?1421250474,
ed:https://s3.amazonaws.com/ksr/projects/1559949/photo-ed.jpg?1421250474,
med:https://s3.amazonaws.com/ksr/projects/1559949/photo-med.jpg?1421250474,
little:https://s3.amazonaws.com/ksr/ projects / 1559949 / photo-little.jpg?1421250474,
small:https://s3.amazonaws.com/ksr/projects/1559949/photo-small.jpg?1421250474,
thumb :https://s3.amazonaws.com/ksr/projects/1559949/photo-thumb.jpg?1421250474,
1024x768:https://s3.amazonaws.com/ksr/projects/1559949/ photo-1024x768.jpg?1421250474,
1536x1152:https://s3.amazonaws.com/ksr/projects/1559949/photo-1536x1152.jpg?1421250474
},
创建者:{
id:835111372,
name:WW Pulse Inc. dba PulseAuction.com,
头像:{
thumb:https://s3.amazonaws。 com / ksr / avatars / 13524481 / rick_head_shot_Cleaned.thumb.jpg?1420034475,
small:https://s3.amazonaws.com/ksr/avatars/13524481/rick_head_shot_Cleaned.small.jpg?1420034475,
medium:https://s3.amazonaws.com/ksr/avatars/13524481/rick_head_shot_Cleaned.medium.jpg?1420034475
},
urls:{
web:{
user:https://www.kickstarter.com/profile/835111372
},
api:{
user:https://api.kickstarter.com /v1/users/835111372?signature=1422460143.e75af1301e433dc803f3f929249d0c45ce3eaebd
}
}
},
位置:{
id:23689683,
name: South Florida,
slug:south-florida-fl,
short_name:South Florida,FL,
displayable_name:South Florida,FL,
国家:US,
state:FL,
type:Town,
is_root:false,
urls:{
web:{
发现:https://www.kickstarter.com/discover/places/south-florida-fl,
位置:https://www.kickstarter.com/locations/south-florida-fl
},
api:{
nearby_projects:https://api.kickstarter.com/v1/discover?signature=1422447780.143e234a4af62e7d8366fad3b204044920bcbc66&woe_id=23689683
}
}
},
category:{
id:342,
name:Web,
slug:technology / web,
位置:15,
parent_id:16,
urls:{
web:{
discover:http://www.kickstarter.com/discover/categories/technology/web
}
}
},
urls:{
web:{
project:https://www.kickstarter.com/projects/ 835111372 / pulseauction?ref = newest,
rewards:https://www.kickstarter.com/projects/835111372/pulseauction/rewards
}
}
}

可以在r中使用这个复杂的json格式来处理数据更平滑的csv?



例如,有以下基本类别:
基本信息
照片
创建者
位置
类别
urls



有可能创建一个包含子类别类别的csv文件,如basic_information.id,creator.id等?


<我发现了几个链接的评论,因为我正在研究你的答案,但现在我很相信这是方法



安装节点包,然后使用以下与你自己的json字符串,(我刚从上面的链接解除):

  var converter = require ('json-2-csv'); 

var documents = [
{
Make:'Nissan',
Model:'Murano',
Year:'2013',
规格:{
Mileage:'7106',
Trim:'S AWD'
}
},
{
Make:'BMW'
型号:'X5',
年份:'2014',
规格:{
里程:'3287',
修剪:'M'
}
}
];

var json2csvCallback = function(err,csv){
if(err)throw err;
console.log(csv);
};

converter.json2csv(documents,json2csvCallback);

这将返回:

  Make,Model,Year,Specifications.Mileage,Specifications.Trim 
Nissan,Murano,2013,7106,S AWD
BMW,X5,2014,3287,M


I try to use as input a file in json format. Here is a snippet of example data.

[
{
id: 1671349531,
name: "A Wild Restaurant Expansion",
blurb: "We are looking to expand from our current location to a new and better facility. One that will be available for our our followers!",
goal: 17000,
pledged: 0,
state: "live",
slug: "a-wild-restaurant-expansion",
disable_communication: false,
country: "US",
currency: "USD",
currency_symbol: "$",
currency_trailing_code: true,
deadline: 1425185940,
state_changed_at: 1422373209,
created_at: 1422141288,
launched_at: 1422373209,
backers_count: 0,
photo: {
full: "https://s3.amazonaws.com/ksr/projects/1619167/photo-full.jpg?1422144440",
ed: "https://s3.amazonaws.com/ksr/projects/1619167/photo-ed.jpg?1422144440",
med: "https://s3.amazonaws.com/ksr/projects/1619167/photo-med.jpg?1422144440",
little: "https://s3.amazonaws.com/ksr/projects/1619167/photo-little.jpg?1422144440",
small: "https://s3.amazonaws.com/ksr/projects/1619167/photo-small.jpg?1422144440",
thumb: "https://s3.amazonaws.com/ksr/projects/1619167/photo-thumb.jpg?1422144440",
1024x768: "https://s3.amazonaws.com/ksr/projects/1619167/photo-1024x768.jpg?1422144440",
1536x1152: "https://s3.amazonaws.com/ksr/projects/1619167/photo-1536x1152.jpg?1422144440"
},
creator: {
id: 602131664,
name: "Chef James Nelson",
avatar: {
thumb: "https://s3.amazonaws.com/ksr/avatars/13830182/logo3.thumb.jpg?1422143536",
small: "https://s3.amazonaws.com/ksr/avatars/13830182/logo3.small.jpg?1422143536",
medium: "https://s3.amazonaws.com/ksr/avatars/13830182/logo3.medium.jpg?1422143536"
},
urls: {
web: {
user: "https://www.kickstarter.com/profile/602131664"
},
api: {
user: "https://api.kickstarter.com/v1/users/602131664?signature=1422460143.21cd79c238aeae43e8a4311c18bf8e8cd2c3a39a"
}
}
},
location: {
id: 2433186,
name: "Kissimmee",
slug: "kissimmee-fl",
short_name: "Kissimmee, FL",
displayable_name: "Kissimmee, FL",
country: "US",
state: "FL",
type: "Town",
is_root: false,
urls: {
web: {
discover: "https://www.kickstarter.com/discover/places/kissimmee-fl",
location: "https://www.kickstarter.com/locations/kissimmee-fl"
},
api: {
nearby_projects: "https://api.kickstarter.com/v1/discover?signature=1422447847.04d19a9efbe31a0d300969276d5d6f5ffa88a776&woe_id=2433186"
}
}
},
category: {
id: 312,
name: "Restaurants",
slug: "food/restaurants",
position: 9,
parent_id: 10,
urls: {
web: {
discover: "http://www.kickstarter.com/discover/categories/food/restaurants"
}
}
},
urls: {
web: {
project: "https://www.kickstarter.com/projects/602131664/a-wild-restaurant-expansion?ref=newest",
rewards: "https://www.kickstarter.com/projects/602131664/a-wild-restaurant-expansion/rewards"
}
}
},
{
id: 267033207,
name: "The Razors Edge ~ (based on the book Giggling in Fairmont).",
blurb: "An indie film to follow up on the recently published book. In it's first few weeks of release it has taken a strong grip on the world.",
goal: 5000,
pledged: 0,
state: "live",
slug: "the-razors-edge-based-on-the-book-giggling-in-fair",
disable_communication: false,
country: "US",
currency: "USD",
currency_symbol: "$",
currency_trailing_code: true,
deadline: 1424964564,
state_changed_at: 1422372564,
created_at: 1421465861,
launched_at: 1422372564,
backers_count: 0,
photo: {
full: "https://s3.amazonaws.com/ksr/projects/1599522/photo-full.jpg?1421465884",
ed: "https://s3.amazonaws.com/ksr/projects/1599522/photo-ed.jpg?1421465884",
med: "https://s3.amazonaws.com/ksr/projects/1599522/photo-med.jpg?1421465884",
little: "https://s3.amazonaws.com/ksr/projects/1599522/photo-little.jpg?1421465884",
small: "https://s3.amazonaws.com/ksr/projects/1599522/photo-small.jpg?1421465884",
thumb: "https://s3.amazonaws.com/ksr/projects/1599522/photo-thumb.jpg?1421465884",
1024x768: "https://s3.amazonaws.com/ksr/projects/1599522/photo-1024x768.jpg?1421465884",
1536x1152: "https://s3.amazonaws.com/ksr/projects/1599522/photo-1536x1152.jpg?1421465884"
},
creator: {
id: 198971258,
name: "Jesse Gerken",
avatar: {
thumb: "https://s3.amazonaws.com/ksr/avatars/12370207/author_pic.thumb.jpg?1411309933",
small: "https://s3.amazonaws.com/ksr/avatars/12370207/author_pic.small.jpg?1411309933",
medium: "https://s3.amazonaws.com/ksr/avatars/12370207/author_pic.medium.jpg?1411309933"
},
urls: {
web: {
user: "https://www.kickstarter.com/profile/198971258"
},
api: {
user: "https://api.kickstarter.com/v1/users/198971258?signature=1422460143.dd7e5606db2806a10e516e1def16575c3aae41e1"
}
}
},
location: {
id: 2401584,
name: "Fairmont",
slug: "fairmont-wv",
short_name: "Fairmont, WV",
displayable_name: "Fairmont, WV",
country: "US",
state: "WV",
type: "Town",
is_root: false,
urls: {
web: {
discover: "https://www.kickstarter.com/discover/places/fairmont-wv",
location: "https://www.kickstarter.com/locations/fairmont-wv"
},
api: {
nearby_projects: "https://api.kickstarter.com/v1/discover?signature=1422448035.58aff9025d72453411d574df4707a417d4b7b970&woe_id=2401584"
}
}
},
category: {
id: 297,
name: "Horror",
slug: "film & video/horror",
position: 10,
parent_id: 11,
urls: {
web: {
discover: "http://www.kickstarter.com/discover/categories/film%20&%20video/horror"
}
}
},
urls: {
web: {
project: "https://www.kickstarter.com/projects/198971258/the-razors-edge-based-on-the-book-giggling-in-fair?ref=newest",
rewards: "https://www.kickstarter.com/projects/198971258/the-razors-edge-based-on-the-book-giggling-in-fair/rewards"
}
}
},
{
id: 1791731386,
name: "PulseAuction",
blurb: "Seeking promotional funding for PulseAuction.com - a PATENTED online auction site. We've banished Per-Bid Fees! Join The Revolution.",
goal: 7000,
pledged: 0,
state: "live",
slug: "pulseauction",
disable_communication: false,
country: "US",
currency: "USD",
currency_symbol: "$",
currency_trailing_code: true,
deadline: 1424964553,
state_changed_at: 1422372553,
created_at: 1419635170,
launched_at: 1422372553,
backers_count: 0,
photo: {
full: "https://s3.amazonaws.com/ksr/projects/1559949/photo-full.jpg?1421250474",
ed: "https://s3.amazonaws.com/ksr/projects/1559949/photo-ed.jpg?1421250474",
med: "https://s3.amazonaws.com/ksr/projects/1559949/photo-med.jpg?1421250474",
little: "https://s3.amazonaws.com/ksr/projects/1559949/photo-little.jpg?1421250474",
small: "https://s3.amazonaws.com/ksr/projects/1559949/photo-small.jpg?1421250474",
thumb: "https://s3.amazonaws.com/ksr/projects/1559949/photo-thumb.jpg?1421250474",
1024x768: "https://s3.amazonaws.com/ksr/projects/1559949/photo-1024x768.jpg?1421250474",
1536x1152: "https://s3.amazonaws.com/ksr/projects/1559949/photo-1536x1152.jpg?1421250474"
},
creator: {
id: 835111372,
name: "WW Pulse Inc. dba PulseAuction.com",
avatar: {
thumb: "https://s3.amazonaws.com/ksr/avatars/13524481/rick_head_shot_Cleaned.thumb.jpg?1420034475",
small: "https://s3.amazonaws.com/ksr/avatars/13524481/rick_head_shot_Cleaned.small.jpg?1420034475",
medium: "https://s3.amazonaws.com/ksr/avatars/13524481/rick_head_shot_Cleaned.medium.jpg?1420034475"
},
urls: {
web: {
user: "https://www.kickstarter.com/profile/835111372"
},
api: {
user: "https://api.kickstarter.com/v1/users/835111372?signature=1422460143.e75af1301e433dc803f3f929249d0c45ce3eaebd"
}
}
},
location: {
id: 23689683,
name: "South Florida",
slug: "south-florida-fl",
short_name: "South Florida, FL",
displayable_name: "South Florida, FL",
country: "US",
state: "FL",
type: "Town",
is_root: false,
urls: {
web: {
discover: "https://www.kickstarter.com/discover/places/south-florida-fl",
location: "https://www.kickstarter.com/locations/south-florida-fl"
},
api: {
nearby_projects: "https://api.kickstarter.com/v1/discover?signature=1422447780.143e234a4af62e7d8366fad3b204044920bcbc66&woe_id=23689683"
}
}
},
category: {
id: 342,
name: "Web",
slug: "technology/web",
position: 15,
parent_id: 16,
urls: {
web: {
discover: "http://www.kickstarter.com/discover/categories/technology/web"
}
}
},
urls: {
web: {
project: "https://www.kickstarter.com/projects/835111372/pulseauction?ref=newest",
rewards: "https://www.kickstarter.com/projects/835111372/pulseauction/rewards"
}
}
}

Could be possible in r to make a csv using this complex json format in order to handle the data smoother?

For example there are these basic catagories: basic information photo creator location category urls

Could be possible to make a csv file with categories of subcategories like basic_information.id, creator.id etc?

解决方案

I posted a couple of links in the comments as I was researching your answer, but now I am pretty convinced this is the way to do it.

Install the node package, and then use the following with your own json string, (which I just lifted from the link above.):

var converter = require('json-2-csv');

var documents = [
    {
        Make: 'Nissan',
        Model: 'Murano',
        Year: '2013',
        Specifications: {
            Mileage: '7106',
            Trim: 'S AWD'
        }
    },
    {
        Make: 'BMW',
        Model: 'X5',
        Year: '2014',
        Specifications: {
            Mileage: '3287',
            Trim: 'M'
        }
    }
];

var json2csvCallback = function (err, csv) {
    if (err) throw err;
    console.log(csv);
};

converter.json2csv(documents, json2csvCallback);

This will return:

Make,Model,Year,Specifications.Mileage,Specifications.Trim
Nissan,Murano,2013,7106,S AWD
BMW,X5,2014,3287,M

这篇关于将json转换为csv格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆