元组字符串到日期、浮点或货币的Python转换
我有以下元组,需要将其转换为日期和货币(如果货币代码过于冗长,则转换为浮动)。我不熟悉任何能胜任这项工作的软件包 你能推荐一种蟒蛇式的转化方式吗?非常感谢元组字符串到日期、浮点或货币的Python转换,python,type-conversion,tuples,Python,Type Conversion,Tuples,我有以下元组,需要将其转换为日期和货币(如果货币代码过于冗长,则转换为浮动)。我不熟悉任何能胜任这项工作的软件包 你能推荐一种蟒蛇式的转化方式吗?非常感谢 inc_data =[(u'Dec 31, 2012', u'104,507,100\n', u'56,000,000\n'), (u'Dec 31, 2011', u'106,916,100\n', u''), (u'Dec 31, 2010', u'99,870,100\n', u'')] 我
inc_data =[(u'Dec 31, 2012', u'104,507,100\n', u'56,000,000\n'),
(u'Dec 31, 2011', u'106,916,100\n', u''),
(u'Dec 31, 2010', u'99,870,100\n', u'')]
我希望得到以下结果:
inc_data2=[(2012-12-31, 104507100.00, 56000000.00),
(2011-12-31, 106916100.00, None),
(2010-12-31, 99870100.00, None)]
我可以使用datetime.strtime('date_string').date()转换单个变量,同样,也可以使用
num_string = u'100'
num = float(num_string)
但我不知道当值存储在元组中时如何转换。另外,我不知道python如何处理null,所以我使用“None”作为期望的结果。顺便说一句,我实际上在第一列中有大约40列以日期开头。转换为datetime对象
from datetime import datetime
inc_data2 = []
for tupleValues in inc_data:
date = tupleValues[0].replace(',', '')
date_object = datetime.strptime(date, '%b %d %Y')
print date_object
currency1 = float(tupleValues[1].replace(',',''))
if len(tupleValues[2]) >= 1:
currency2 = float(tupleValues[2].replace(',',''))
else:
currency2 = None
tempList = []
tempList.append(str(date_object))
tempList.append(currency1)
tempList.append(currency2)
inc_data2.append(tempList)
这是输出
[['2012-12-31 00:00:00',104507100.0560000.0],'2011-12-31 00:00:00',106916100.0,无],'2010-12-31 00:00:00',99870100.0,无]将其转换为日期和货币是什么意思?你能举一个期望输出的例子吗?我希望得到上述结果。抱歉,我不知道如何格式化注释以插入代码。因此,我将修改问题。