Openrefine,从一个区间获取所有数字

Openrefine, get all the numbers from an interval

我有这样的细胞:

031 - 039

我想将它转换成不同的单元格,所有数字都在其间:

031 032 033 034 035 036 037 038 039

我该怎么做?

更新

尝试与python/jython合作:

if " - " in value:
   number_list = []
   first = int(value.split(" - ")[0])
   last = int(value.split(" - ")[1])
   for i in range(first, last):
       i += 1
       num = str(i)
       number_list.append(num)
   return str(first)+"|"+"|".join(number_list)
else:
   return value

我现在真的不知道如何在 jython 中创建具有所需值的新单元格。所以我将在第二步中执行此操作,"normal" 被“|”分割。

C# 示例:

var input = "31 - 39";
var tmp = input.Split("-");
var start = int.Parse(tmp[0].Trim());
var end = int.Parse(tmp[1].Trim());
var count = end - start + 1;

var result = Enumerable.Range(start, count);

你的更新是正确的,尽管你可以大大简化它。

>>> first,last = "31 - 39".split(" - ")
>>> "|".join([format(i,"03") for i in range(int(first),int(last)+1)])
'031|032|033|034|035|036|037|038|039'

无法创建新的 rows/cells,因此最好使用 "Split multi-valued cells"。