问题描述
>>> headers
['name','price','date','time','change','open','high','low','volume']
>>> row
['AA','39.48','6/11/2007','9:36am','-0.18','39.67','39.69','39.45','181800']
>>> types = [str,float,str,int]
>>> converted = [func(val) for func,val in zip(types,row)]
>>> record = dict(zip(headers,converted))
>>> record
{'volume': 181800,'name': 'AA','price': 39.48,'high': 39.69,'low': 39.45,'time': '9:36am','date': '6/11/2007','open': 39.67,'change': -0.18}
如何将日期字符串转换为日期元组?
解决方法
你可以做
def date_to_tuple(datestring):
return tuple(int(part) for part in datestring.split('/'))
,并在date_to_tuple
列表中使用str
代替types
。
但是您可能希望使用datetime.date
而不是int
的元组。例如,日期格式是MMDDYYYY还是DDMMYYYY?字符串或元组不清楚。另外,如果您想显示日期或在某个时候计算其他日期,那么处理起来会容易得多。
data = {'volume': 181800,'name': 'AA','price': 39.48,'high': 39.69,'low': 39.45,'time': '9:36am','date': '6/11/2007','open': 39.67,'change': -0.18}
data['date'] = tuple(data['date'].split('/'))