python-2.7 - 拆分包含多种日期格式的列

标签 python-2.7 csv pandas

我有一个 csv 文件,其中包含具有多种日期格式的列。我需要拆分它们并以相同的格式获取提取的结果。

Wednesday 12 August 2015
Wednesday 12 August 2015
Friday April 1 2016
Friday April 1 2016
5/12/2016
5/12/2016

这是文件,我希望它采用 mm/dd/yy 格式。我的代码如下:

import re
import csv
import pandas as pd
#delimiters = " ", "/"

#f = open('merged_34.csv')
f = open('test3.csv')
df = pd.read_csv('test3.csv')
for item in df['serverDatePrettyFirstAction']:
    if '/' in item:
       newDate.append(item)
    else:
       item = item.split(' ', 1)[1]
       newDate.append(item)
df['newDate'] = newDate
df.to_csv('D:/Python/10.36.202.64/newfile.csv', index = False)

这就是我得到的:

serverDatePrettyFirstAction newDate
Wednesday 12 August 2015    12-Aug-15
Wednesday 12 August 2015    12-Aug-15
Friday April 1 2016         April 1 2016
Friday April 1 2016         April 1 2016
5/12/2016                   5/12/2016
5/12/2016                   5/12/2016

还有一种方法可以覆盖同一列本身中的值

最佳答案

更快的方法是使用 pandas 的方法 to_datetime() :

In [2]: df
Out[2]:
                       Date
0  Wednesday 12 August 2015
1  Wednesday 12 August 2015
2       Friday April 1 2016
3       Friday April 1 2016
4                 5/12/2016
5                 5/12/2016

In [6]: df['newDate'] = pd.to_datetime(df['Date'])

结果:

In [7]: df
Out[7]:
                       Date    newDate
0  Wednesday 12 August 2015 2015-08-12
1  Wednesday 12 August 2015 2015-08-12
2       Friday April 1 2016 2016-04-01
3       Friday April 1 2016 2016-04-01
4                 5/12/2016 2016-05-12
5                 5/12/2016 2016-05-12

关于python-2.7 - 拆分包含多种日期格式的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37626929/

相关文章:

python-2.7 - Pandas 将列表附加到列名列表

python - "if"带有接受 int 和 string 的输入的语句

python - zsh :/usr/local/bin/youtube-dl: bad interpreter:/usr/local/opt/python/bin/python2. 7: 没有那个文件或目录

perl - LWP::Simple 运行得很好:如何在文件中存储 6000++ 条记录并进行一些清理?

python - 按列计算 pandas Dataframe 中的行数?

python - 避免重复的随机值

php - 无法将数据从 csv 插入列数未知的 mysql 数据库

sqlite - 导出不带 col.names 的 CSV

Python Pandas 根据另一个集合(集合)的成员资格选择行

python - 在 sklearn.cross_validation.cross_val_score 中使用 python pandas 时间戳