如何更改日期时间格式python

时间:2015-09-30 06:40:16

标签: python datetime date-formatting data-cleaning pandas-datareader

我有大量的时间序列数据,我在更改时间约定方面遇到了问题。

以下是不同的类型,我试图将它们全部改为一种格式。无法找到相应的指导。它更像是我想要做的数据预处理/清理过程。因此,python和pandas的下一个执行过程顺利进行。手动更改几乎是不可能的,需要使用python脚本进行修复。

输入文件有CSV格式的两种类型。

三列和多行,其中col[0]肯定是日期时间,其余是其他数据。列标题不是常量,每个输入文件都有一些名称,因此不能使用标题。

09/30/2015 12:00 PM,abcsd,434235
09/30/2015 12:30 PM,taer,45824
09/30/2015 13:00 PM,hshfe,4894

包含多列和多行的输入文件

no.,30-09-2015 12:00 PM,30-09-2015 13:00 PM
1111,2345,2342

类型

1. 09/30/2015 12:00:00 
2. 30/09/2015 12:00
3. 09/30/2015 12:00 PM
4. 30/09/2015 12:00 PM
5. 30-09-2015 12:00:00
6. 30-09-2015 12:00 PM

以上列出的是类型,我想将它们全部改为一种格式:

1. 30/09/2015 12:00

or 

2. 09/30/2015 12:00

我也无法在文件中找到适当的指导。因此到目前为止无法尝试任何代码。

感谢宝贵的建议

1 个答案:

答案 0 :(得分:1)

您需要将它们全部读入一个公共datetime对象,然后将它们全部打印出来。

不幸的是,阅读多种格式的最佳方式是列出可能的格式,然后尝试使用每种格式。

例如:

import datetime

POSSIBLE_FORMATS = ['%h%m%s', ...]

for date in dates:
    for format in POSSIBLE_FORMATS:
        try:
            formatted = datetime.strptime(date, format)
            print formatted # will be the same format every time
            break # found it, stop trying formats
        except:
            pass # wrong format, keep trying formats