Python 单位(亿、万)转数字 您所在的位置:网站首页 56790大写 Python 单位(亿、万)转数字

Python 单位(亿、万)转数字

2024-01-11 15:58| 来源: 网络整理| 查看: 265

需求背景

今天在爬取长沙链接二手房数据的时候,需要将房屋总价和单价转换为数字进行存储

python 功能代码:

实现str 转int,要求:包含'亿' =1e8, 包含'万' = 1e4  。功能代码如下:

def str2value(valueStr): valueStr = str(valueStr) idxOfYi = valueStr.find('亿') idxOfWan = valueStr.find('万') if idxOfYi != -1 and idxOfWan != -1: return int(float(valueStr[:idxOfYi])*1e8 + float(valueStr[idxOfYi+1:idxOfWan])*1e4) elif idxOfYi != -1 and idxOfWan == -1: return int(float(valueStr[:idxOfYi])*1e8) elif idxOfYi == -1 and idxOfWan != -1: return int(float(valueStr[idxOfYi+1:idxOfWan])*1e4) elif idxOfYi == -1 and idxOfWan == -1: return float(valueStr)

实例:

# 创建文件 f = open('长沙二手房数据清洗.csv', mode='a', encoding='utf-8', newline='') csv_writer = csv.DictWriter(f, fieldnames=['标题', '小区', '地名', '房子基本信息', '房价', '单价', '发布信息']) # 写入表头 csv_writer.writeheader() with open('长沙二手房数据.csv', 'rt', newline='', encoding='utf-8', errors='ignore') as f: csv_read = csv.reader(f) for line in csv_read: if len(line): txt = line[0] if txt != '标题' and txt != '': print('总价', line[4]) unitPrice = 0 Price = 0 if line[4].find('万') > 0: Price = str2value(line[4]) print('是否包含万', str2value(line[4])) if line[5].find('元/平') > 0: unitPrice = int(str(line[5].replace('元/平', '').replace(',', ''))) print('是否包含元/平', int(str(line[5].replace('元/平', '').replace(',', '')))) print('单价', line[5]) print(line) dit = { '标题': line[0], '小区': line[1], '地名': line[2], '房子基本信息': line[3], '房价': Price, '单价': unitPrice, '发布信息': line[6], } csv_writer.writerow(dit)

效果截图:

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有