首页 > 解决方案 > 如何修改此示例以将日期条目额外解析为元组,例如 (6, 11, 2007)?

问题描述

>>> 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, str, float, float, float, float, 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}

如何将日期字符串转换为日期元组?

标签: pythontuples

解决方案


你可以做

def date_to_tuple(datestring):
   return tuple(int(part) for part in datestring.split('/'))

并使用date_to_tuple而不是列表str中的相关条目types

但是您可能想要使用 adatetime.date而不是 s 的元组int。例如,日期格式是 MMDDYYYY 还是 DDMMYYYY?字符串或元组无法说清楚。此外,如果您想在某个时间显示日期或计算不同的日期,那将更容易处理。


推荐阅读