2016-03-10 49 views
0

转换JSON到CSV嗨,我下载了一个csvkit到我的MacBook一切按照教程enter link description here但进行得很顺利,当我试图用这个命令错误而使用csvkit

in2csv customers-page-1.json > customers-page-1.csv 

这是对JSON文件转换错误

When converting a JSON document with a top-level dictionary element, a key must be specified. 

我不知道该怎么放或者把钥匙被错误作为spcified我的继承人JSON文件

{ 

"page":1, 
"pages":132, 
"count":5945, 
"items":[ 
    { 
     "id":74798241, 
     "firstName":"Edyth", 
     "lastName":"U.", 
     "fullName":"Edyth U.", 
     "photoUrl":null, 
     "photoType":null, 
     "gender":"unknown", 
     "age":null, 
     "organization":null, 
     "jobTitle":null, 
     "location":null, 
     "createdAt":"2016-03-02T04:26:52Z", 
     "modifiedAt":"2016-03-02T04:26:52Z" 
    }]} 
+0

你检查[这](https://开头的github .com/wireservice/csvkit/issues/361)已经? (关于你看到的错误) – jDo

+0

是的,我做了它并没有说任何在那里把关键 –

+0

顺便说一句,我可以很容易地转换它与在线JSON转换器,但我有一千个JSON文件,它需要我永远转换如果我必须这样做 –

回答

2

您应该在CSV的行中指定存在列表对象的关键字。在这种特殊情况下,items

in2csv -k items test.json 

作为一般的提示,如果您运行不带参数的命令,你会得到短暂的使用,并不再与--help开关:

% in2csv 
usage: in2csv [-h] [-d DELIMITER] [-t] [-q QUOTECHAR] [-u {0,1,2,3}] [-b] 
       [-p ESCAPECHAR] [-z MAXFIELDSIZE] [-e ENCODING] [-S] [-H] [-v] 
       [-l] [--zero] [-f FILETYPE] [-s SCHEMA] [-k KEY] [-y SNIFFLIMIT] 
       [--sheet SHEET] [--no-inference] 
       [FILE] 
in2csv: error: You must specify a format when providing data via STDIN (pipe). 

% in2csv --help 
usage: in2csv [-h] [-d DELIMITER] [-t] [-q QUOTECHAR] [-u {0,1,2,3}] [-b] 
       [-p ESCAPECHAR] [-z MAXFIELDSIZE] [-e ENCODING] [-S] [-H] [-v] 
       [-l] [--zero] [-f FILETYPE] [-s SCHEMA] [-k KEY] [-y SNIFFLIMIT] 
       [--sheet SHEET] [--no-inference] 
       [FILE] 

Convert common, but less awesome, tabular data formats to CSV. 
.... 
    -k KEY, --key KEY  Specifies a top-level key to use look within for a 
         list of objects to be converted when processing JSON. 
+0

是的,我知道那就是钥匙,但是我不知道该把钥匙放在这个指令里的位置 'in2csv customers-page-1.json> customers-page-1.csv' –

1

调用程序,像这样:

$ in2csv --key items customers-page-1.json > customer.csv 

产地:

$ cat customer.csv 
id,firstName,lastName,fullName,photoUrl,photoType,gender,age,organization,jobTitle,location,createdAt,modifiedAt 
74798241,Edyth,U.,Edyth U.,,,unknown,,,,,2016-03-02T04:26:52Z,2016-03-02T04:26:52Z 
1

香港专业教育学院得到的答案继承人的代码

in2csv -k items customers-page-1.json > customers-page-1.csv 

其中项目KEY