如何去除m²单位标识并将ha单位面积换算为m²单位?
Python 实现面积单位统一换算为m²的方案
针对你给出的字典结构面积数据,可直接用以下代码完成单位换算:
# 原始面积数据 area_raw = { '17001:003:0009': '712 m²', '17001:003:0010': '1694 m²', '33101:004:0568': '2070 m²', '33101:003:0502': '3553 m²', '33101:003:0503': '2308 m²', '69403:002:0317': '23.95 ha', '69403:001:0263': '8.76 ha', '33101:001:0197': '5.05 ha', '33101:003:0550': '2.65 ha', '33101:004:0596': '2.45 ha' } area_converted = {} for k, v in area_raw.items(): value_part, unit = v.split() num = float(value_part) if unit == 'ha': # ha转m²的换算系数为10000 num *= 10000 area_converted[k] = f"{num} m²" else: area_converted[k] = v
代码逻辑说明
- 遍历原始字典的所有键值对,按空格拆分每个值得到数值部分和单位部分
- 判定单位为ha时,将数值乘以10000后拼接m²单位存入新字典
- 原有单位为m²的内容直接保留,不需要额外处理
换算后结果示例
执行代码后,所有ha单位的数据都会完成转换,示例转换结果如下:
{ '17001:003:0009': '712 m²', '17001:003:0010': '1694 m²', '33101:004:0568': '2070 m²', '33101:003:0502': '3553 m²', '33101:003:0503': '2308 m²', '69403:002:0317': '239500.0 m²', '69403:001:0263': '87600.0 m²', '33101:001:0197': '50500.0 m²', '33101:003:0550': '26500.0 m²', '33101:004:0596': '24500.0 m²' }
如果需要保留整数结果,把格式化字符串调整为f"{int(num)} m²"即可。
内容的提问来源于stack exchange,提问作者Alver Lillepea
相关产品推荐
相关产品推荐

