資料分類
- 結構化資料
- json
- xml
- 處理方法:轉化為python資料類型
- 非結構化資料
- html
- 處理方法:正規表達式、xpath
json子產品的使用
- 将json字元串轉換成python類型
- json.loads()
- 将json字元串轉換成字元串
- json.dumps()
- 參數 儲存檔案的時候使用
- ensure_ascii=False
- 将中文顯示出來
- indent = 4
- 添加換行和每行前縮進4個字元
- ensure_ascii=False
- 參數 儲存檔案的時候使用
- json.dumps()
- 将包含Json的類檔案對象與python資料類型進行轉換
- 具有read()或者write()方法的對象就是類檔案對象
- f = open(“a.json”, “r”)中f就是類檔案對象
- json.load(f) 讀
- json.dump(f,資料) 寫
- 使用:
import json with open("a.json","r",encoding='utf-8') as f: ret = json.load(f)
json使用的注意點
- json中的字元串都是雙引号引起來的
- 如果不是雙引号
- eval:能夠實作簡單的字元串和python類型轉換
- replace:把單引号替換成雙引号
- 如果不是雙引号
- 往一個檔案中寫入多個json串,不再是一個json串,不能直接讀取
- 一行寫一個json串,按照行來讀取
正規表達式
- re.compile(編譯)
- p = re.compile(正規表達式) --如果有使用正則參數的話需要先寫到編譯中如re.S
- 使用:
- p.findall(需要處理的字元串)
- p.sub(替換之後的内容,帶替換的内容)
- p = re.compile(正規表達式) --如果有使用正則參數的話需要先寫到編譯中如re.S
- pattern.match(從頭開始找一個)
- pattern.search(找一個)
- pattern.findall(找所有)
- pattern.sub(替換)
- 正規表達式中添加re.DOTALL或者re.S可以比對換行符
- 如果正規表達式中加括号的話,傳回括号中的内容,如果沒有則傳回所有
正規表達式的注意點
-
, 能夠傳回括号中的内容,括号前後的内容起到了定位和過濾的效果re.findall("a(.*)b"),"str")
- 原始字元串r,帶比對字元串中有反斜杠的時候,使用r能忽略反斜杠帶來的轉義效果
- 點号,預設情況下比對不到
\n
-
能夠比對空白字元,不僅僅包含空格,還有\s
\t\r\n
python中的原始字元串 r 的用法
- 字元串之前加上
代表原始字元串r
- 作用:忽略轉義符
帶來的影響\
- 舉例:
- r"a\n" --> 代表三個字元,第二個字元
\\
- “a\n” --> 代表兩個字元,第二個為
\n
- 如下比對:
- r"a\nb" == “a\nb” – false
- re.findall(“a\nb”,“a\nb”) – 可以比對到
- re.findall(r"a\nb",“a\nb”) – 可以比對到
- re.findall(r"a\nb",“a\nb”) – 比對不到
- r"a\n" --> 代表三個字元,第二個字元
- 舉例:
- 在windows中操作檔案路徑的時候使用
- 作用:可以是檔案路徑中的反斜杠不再是有轉義符,也不用在寫路徑的時候使用兩個反斜杠了