图书馆用文本识别荷兰语日期?

时间:2017-06-06 20:34:37

标签: python date

我有一系列字符串(荷兰语),其中包含DD-MM-YYYY格式的日期或DD月YYYY的文本格式。请在此处查看示例选择:https://paste.ee/p/XZLha。我正在寻找能够从这些文本字符串中识别日期的Python(2.7)库。

  • dateutil 无法正确解析荷兰语
  • dateparser 无法解析模糊字符串 - 它只接受包含日期和天数的字符串。它可以处理荷兰的日期。

我希望得到您对可能解决方案的意见。我考虑在日期之外删除文本并使用dateparser。

3 个答案:

答案 0 :(得分:0)

以下是使用正则表达式作为@Shiva推荐的示例。它可能需要一些改进,但概念是:

#add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

有一个名为Regex101的好网站可以帮助编写表达式;我用于上述的样本在这里:https://regex101.com/r/wMFfx4/2

答案 1 :(得分:0)

内置的datetime模块datetime.strpdate()可以解析日期in a number of formats,包括特定于语言区域的日期。您仍然需要首先从文本中提取日期 - 或者使用其他一些分析方法的正则表达式(例如,它们可能位于文本的某些已知的,非常特定的部分中)。

答案 2 :(得分:0)

https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes

(或https://docs.python.org/2/library/datetime.html#strftime-and-strptime-format-codes(如果您仍需要在2中使用它)

可以从标准库中执行此操作。

如果以下内容为您提供了ValueError: time data 'Oktober' does not match format '%B'

print(datetime.datetime.strptime("Oktober", "%B"))

您可以将语言环境设置为所需的任何语言。荷兰人

import locale
locale.setlocale(locale.LC_ALL, "nl_NL")

然后,您可以轻松解析所需内容:

print(datetime.datetime.strptime("Oktober", "%B"))
>>> datetime.datetime(1900, 10, 1, 0, 0)