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

将列中排列的月份转换为Python的日期变量,python,datetime,Python,Datetime,我正在尝试编写一个脚本,用于读取每个月列标题中的数组,并将其转换为一个属性,该属性可以由Python中的datetime模块读取,该模块遵循属性格式(年、月、日): 年一月二月三月四月五月六月八月九月十月十一月十二月 2001年1月;32; 45; 15; 25; 30; 125; 524; 246; 123; 528; 458 我知道,转换数据和将月份转换为数字可能会更容易,但我有数千条数据线,我必须这样做,我担心会因为任何用户错误而破坏数

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

年一月二月三月四月五月六月八月九月十月十一月十二月

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

我知道,转换数据和将月份转换为数字可能会更容易,但我有数千条数据线,我必须这样做,我担心会因为任何用户错误而破坏数据结构


任何帮助都将不胜感激

我不知道你想要什么。 假设您有一行数据:

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)

源文件的格式是什么?以“;”作为分隔符的文本文件?非常感谢。这非常简单,确实解决了正确读取中的值的问题。但是,如果我有几千行这样的数据,如何将月份声明为一个变量,我可以将它们放入标准的日期时间格式:data=date(year,month,1)我使用范围内的x(len(t))生成月份,打印时给出2001,1,1等等。。。你需要转换成日期的是什么?我刚刚编辑了答案,这样更好吗?