首页 > 解决方案 > 在openrefine中对单元格内的年份列表进行排序

问题描述

就像标题一样,我有一个包含期刊的数据集。对于每本期刊,我都有一个包含这些混合日期的单元格:

1690 -- 1686 -- 1716 -- 1726 -- 1683 -- 1730 -- 1684 -- 1715 -- 1693 -- 1712 -- 1695 -- 1688 -- 1724 -- 1685 -- 1692 -- 1707 -- 1702 - - 1731 -- 1710 -- 1709 -- 1704 -- 1696 -- 1687 -- 1699 -- 1708 -- 1703 -- 1691 -- 1697 -- 1720 -- 1694 -- 1714 -- 1729 -- 1721 -- 1713 -- 1725 -- 1705 -- 1727 -- 1711 -- 1719 -- 1728 -- 1723 -- 1717 -- 1718 -- 1700 -- 1689 -- 1722 -- 1701 -- 1698 -- 1706

如何对日期进行排序并仅获取第一个和最后一个发布日期?

提前致谢

标签: sortingopenrefine

解决方案


我不确定你需要什么,但如果我没看错,那么应该这样做:

value.split(' -- ').sort()[0]
value.split(' -- ').sort()[-1]

第一个为您提供最低值,第二个为您提供最高值。对于此数据,您将获得 1683 和 1731。

您可以使用“基于此列添加列”两次来获取不同单元格中的开始和结束年份,或者您可以使用“+”再次连接值,如下所示:

value.split(' -- ').sort()[0] + "-" + value.split(' -- ').sort()[-1]

推荐阅读