将列中排列的月份转换为Python的日期变量

时间:2014-05-23 11:22:33

标签: python datetime

我正在尝试编写一个脚本,该脚本在每个月的列标题中读取数组,并将其转换为可由Python中的datetime模块读取的属性,该属性遵循属性格式(年,月,日) ):

年1月2月3月4月5月6月7月8月9月10月11月

2001 1; 32; 45; 15; 25; 30; 125; 524; 246; 123; 528; 458

我知道转置数据并将月份转换为数字可能会让它变得更容易,但我有数以千计的数据线,我不得不用任何用户错误来破坏数据结构。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

不确定我明白你想要什么。 假设您有一行数据:

l = 2001 1; 32; 45; 15; 25; 30; 125; 524; 246; 123; 528; 458 

然后分开它:

t = l.split()
流行年份:

YYYY = t.pop(0)

t
['1;', '32;', '45;', '15;', '25;', '30;', '125;', '524;', '246;', '123;', '528;']

您可以从第一行中提取月份,让我们构建一整年:

y = "Jan Feb March April May June July August Sept Oct Nov Dec".split()

假设您有一些不完整的数据,其中第一行是:

d = "Year Jan Feb May June July August Sept Oct Nov Dec".split()
d.pop(0)

使用以下方式构建您的日期时间:

for x in range(len(d)):
     dt = datetime.date(YYYY, y.index(d[x])+1, 1)