【发布时间】:2019-08-23 02:57:13
【问题描述】:
我正在使用 pandas.read_csv 从 csv 读取数据。其中一列具有不同格式的日期信息(没有标准 ISO 8601 等)。我想确保 Pandas 可以检测到日期格式,而无需用户进一步输入。老实说,我不确定如何开始。我知道 Pandas 可以infer_datetime_format 但是它不能捕获所有数据变化或可能会引发错误。
我的数据集有几百万行,因此该过程可能非常耗时。我的想法是只加载前 100 行 (nrows=100),然后让函数检测日期格式。从我目前看到的数据集来看,它可能是 dd-mm-yy、dd-mm-yyyy、yyyy-mm-dd(以及 ,.- 分隔符的不同变体)、2019 年 1 月 19 日、2019 年 1 月 1 日、2019 年 1 月 1 日等. 另外我有英文(十二月)和德文(十二月)的文本。
我想过为列中的每个项目运行类似 for 循环的东西,准备不同格式的案例,可能在 try except 块中,让 Pyton 检测前 100 个条目的正确格式。 (使用日期格式构建不同的案例:https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior)
这种方法是否有意义?或者你会怎么做?提前致谢!
【问题讨论】: