如何在Python中将指定格式的字符串转换为对应字典?
Python字符串转目标字典实现方案
你可以通过拆分字符串+特殊处理时间字段的方式实现,具体步骤和代码如下:
实现思路
- 先按逗号拆分原字符串,跳过第一个无用的
Stock Price元素 - 拆分每个元素时做判断:如果是
Time开头的字段,只拆分第一个冒号,避免把时间值里的冒号也拆分 - 数值类型的价格自动转为对应数字类型,时间字段保持字符串格式即可
完整代码
raw_str = "Stock Price,apple:105.2,Goog:101,TSLA:200,Time:2021:10:10 10:15:22" # 按逗号拆分,过滤第一个无用项 parts = raw_str.split(",")[1:] result = {} for part in parts: # 只拆分第一个冒号,避免时间字段拆分错误 key, value = part.split(":", 1) # 价格字段转数字类型,时间保持字符串 if key != "Time": # 带小数点转float,整数转int if "." in value: value = float(value) else: value = int(value) result[key] = value print(result)
输出结果
{'apple': 105.2, 'Goog': 101, 'TSLA': 200, 'Time': '2021:10:10 10:15:22'}
注:Python字典的字符串键需要用引号包裹,你示例中Time未加引号属于语法不规范写法,上述输出为合法的Python字典格式
内容的提问来源于stack exchange,提问作者beginnercoder84
相关产品推荐
相关产品推荐

