介绍
在数据清洗中,面积中的 m2、价格中的 万 去掉,这样才能方便统计运算,并且在增加一列 房间数量
代码
import re
rpath=r"c:\Users\mym\Desktop\jz\58同城二手房数据.csv"
wpath=r"c:\Users\mym\Desktop\jz\58同城二手房数据-清洗.csv"
rf=open(rpath,"r",encoding="GBK")
wf=open(wpath,"w",encoding="GBK")
firstline=rf.readline().strip()+",fangjian\n"
wf.write(firstline)
for line in rf:
line=line.strip()
# print(line)
# 将标题中的英文,替换成中文
array=line.split(",")
if len(array)>7:
print(line)
# 从索引是0的元素开始,到 倒数第6个元素结束,这个部分就是标题
title_array=array[:-6]
# 将list中的元素,组装成字符串,由,间隔各个字符串
title=",".join(title_array)
line=title+","+",".join(array[-6:])
print(line)
array=line.split(",")
# 将面积中的m2去掉,并替换原来的元素
array[2]=array[2][:-1]
# 将价格中的万去掉,并替换原来的元素
array[6]=array[6][:-1]
# 用正则表达式提取出户型中的数字
nums=re.findall(r"\d+",array[1])
count=0
for item in nums:
count+=int(item)
# print(nums,count)
# 增加一列房间数量,字符串类型是为了后面拼接成字符串
array.append(str(count))
newline=",".join(array)+"\n"
wf.write(newline)
rf.close()
wf.close()
清洗后文件截图:
下载:

