数据清洗:去掉txt文件中有空缺值的行

最近在做爬虫爬取豆瓣读书的数据,发现很多书籍会没有评分,当时爬虫也没做特别处理,所以这个问题保留了下来。
数据格式就是以英文逗号分隔,(book_id,book_name,book_score)
一部分数据如下

1443021,网络营销, 
2265243,How Buildings Work, 
4022720,影子富豪查克·菲尼, 7.3 
2157526,Mind Set!, 
1431351,平家物语图典, 7.1 

之前试过了判断是不是None,或者用正则匹配Null都不行
最后想到的办法就是将score转换成字符串,因为此时的score是列表list的一个元素,之后只需将字符串score与" "判断是否相同即可
代码如下:

#处理缺失值的程序   auther:wuyou
file = open("BookInfo.txt","r",encoding="utf-8")  #打开老文件,读模式
newfile = open("Book.txt","a",encoding="utf-8")   #打开新文件,追加写模式
for line in file:
    info = line.replace("\n","")    #去掉换行符
    book_info = info.split(",")     #划分数组
    if len(book_info) > 3:          #如果多于3个元素
        continue
    score = str(book_info[2])       #转换成字符串
    if score == " ":                #如果字符串为空
        continue
    newfile.write(line)             #如果通过前两项测试,则写入新的文件中保存
file.close()        #关闭文件
newfile.close()     #关闭文件
发布了304 篇原创文章 · 获赞 51 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/qq_39905917/article/details/104857763
今日推荐