我有大量的时间序列数据,我在更改时间约定方面遇到了问题。
以下是不同的类型,我试图将它们全部改为一种格式。无法找到相应的指导。它更像是我想要做的数据预处理/清理过程。因此,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
我也无法在文件中找到适当的指导。因此到目前为止无法尝试任何代码。
感谢宝贵的建议
答案 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