【问题标题】:OpenRefine JSON Templating skip null valuesOpenRefine JSON 模板跳过空值
【发布时间】:2018-12-19 17:31:23
【问题描述】:

我想使用模板将我清理的数据从 OpenRefine 导出到 JSON。它工作正常,但我有很多空单元格,结果如下:

"countries" : ["cuba","mexico","puerto rico","united states",null,null,null,null,null,null,null,null,null]

如何跳过那些 null 值? 我使用以下作为我的行模板代码:

"countries" : [{{jsonize(cells["country1"].value)}},{{jsonize(cells["country2"].value)}}]

等等。

感谢您的帮助!

【问题讨论】:

    标签: openrefine


    【解决方案1】:

    在输出值之前,您需要测试单元格是否为空。例如

    "countries" : [{{forNonBlank(cells["country1"],c,jsonize(c.value),"")}},{{forNonBlank(cells["country2"],c,jsonize(c.value),"")}}]
    

    如果您有很多“国家/地区”列,您可以考虑使用 https://github.com/OpenRefine/OpenRefine/wiki/Recipes#7-columns 的食谱遍历列以查找非空白值 - 这可能更有效,具体取决于您使用的列数

    【讨论】:

    • 谢谢!使用forNonBlank 会留下"countries" : ["argentina","mexico",,,,,,,,,,,],所以我将研究对列进行迭代。
    • 啊-您也可以尝试将逗号分隔符带入条件-例如:"countries" : [{{forNonBlank(cells["country1"],c,jsonize(c.value)+",","")}}{{forNonBlank(cells["country2"],c,jsonize(c.value),"")}}]
    • 谢谢,就是这样!
    猜你喜欢
    • 2015-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-27
    • 2019-08-23
    • 2017-05-20
    相关资源
    最近更新 更多