數(shù)據(jù)清洗的知識點總結(jié)

1.寫程序需要先梳理思路,甚至可以畫出邏輯流程圖,一步一步劃分為細的步驟:
例如本次的數(shù)據(jù)提取:涉及到兩個文件一個txt的文件夾和一個CSV文件,那么就可以梳理思路就是,讀取txt文件,讀取csv文件,分類數(shù)據(jù),新建類別文件夾保存文件.


image.png

注意:確定要實現(xiàn)哪些小的功能,一個函數(shù)def就實現(xiàn)一個小功能


2.注意標明編碼

#!/usr/bin/python     
申明l這是個python腳本,要用python解釋器來運行,有時候解釋器路徑不對,
換成通用的:#!/usr/bin/env python    即可
---------------------------
# -*- coding: utf-8 -*-
用來指定文件編碼為utf-8的

3.讀文件 with open('路徑', 'r') as f 和f = open()的區(qū)別:
參考:https://blog.csdn.net/a1496785/article/details/83011974

with open("test.txt","r") as file:
for line in file.readlines():
    print line

用with語句的好處,就是到達語句末尾時,會自動關(guān)閉文件,即便出現(xiàn)異常。

file = open("test.txt","r")
for line in file.readlines():
    print line
file.close()

這樣直接打開文件,如果出現(xiàn)異常,如讀取過程中文件不存在或異常,則直接出現(xiàn)錯誤,close方法無法執(zhí)行,文件無法關(guān)閉


4.讀取文件常用的三種方法 :read()和readline() ,readlines()的區(qū)別?
參考:https://blog.csdn.net/weixin_42168614/article/details/88292146

  • read([size])方法:從文件當前位置起讀取size個字節(jié),若無參數(shù)size,則表示讀取至文件結(jié)束為止,它范圍為字符串對象.
  • readline()方法:從字面意思可以看出,該方法每次讀出一行內(nèi)容,所以,讀取時占用內(nèi)存小,比較適合大文件,該方法返回一個字符串對象。
  • readlines()方法:讀取整個文件所有行,每行保存為一個字符串,可以用空列表保存在一個列表(list)變量中,該列表可以由Python的for in 結(jié)果進行處理,每行作為一個元素,但讀取大文件會比較占內(nèi)存。
f = open('1.txt', 'r')                   #以讀方式打開文件
result = list()
for line in f.readlines():                          #依次讀取每行
    line = line.strip()                             #去掉每行頭尾空白
    if not len(line) or len(line) < 4:              #判斷是否是空行或注釋行
        continue                                    #是的話,跳過不處理
    result.append(line)                             #保存
# result.sort()                                     #排序結(jié)果                                 
print(result)
f.close()      

5.路徑問題,
得注意的是:在Windows系統(tǒng)中,在文件路徑中使用反斜杠(\)而不是斜杠(/)。
路徑一般寫成讀寫放在開頭為全局變量,可以作為參數(shù)向函數(shù)傳參


  1. python中 STR.strip() 的用法:
    參考:https://www.cnblogs.com/kaishirenshi/p/8610892.html
  • str.strip()就是把字符串(str)的頭和尾的空格,以及位于頭尾的\n \t之類給刪掉。
  • 字符串str還有另外兩種類似的方法lstrip()和rstrip()。第一個是只刪頭,第二個是只刪尾巴。

7.split():拆分字符串.
參考:https://blog.csdn.net/qq_24407657/article/details/80265217
通過指定分隔符對字符串進行切片,并返回分割后的字符串作為元素的列表(list)

        語法:str.split(str="",num=string.count(str))[n]

分割兩次,取第一個分片(序號為0)


image.png

8.讀取csv文件:

with open( 'd:file.csv',  'r',  encoding= 'utf-8') as csvFile:  #以只讀方式打開"file.csv"文件并返回文件對象"csvFile"
  reader =csv.reader(csvFile) #只上傳第一個參數(shù)"csvFile",剩下兩個采用缺省設定
  for  row in reader: 
  print (str(row))  #輸出"reader"中的每行數(shù)據(jù)

9,

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容