jieba庫
- jieba庫是Python中一個重要的第三方中文分詞函數庫,可以通過
pip install
命令進行安裝。
常用分詞函數
示例
文件
文件是一個存儲在輔助存儲器上的數據序列,可以包含任何數據內容
。
打開與關閉
- Python中使用open函數打開一個文件,使用形式如下:
<variable> = open(<filename>,<mode>)
- mode 表示文件打開模式,文件的打開模式如下
- Python中使用close()方法來關閉一個文件,使用形式如下:
<variable>.close()
讀和寫相關方法
字符串或字節流取決於文件打開模式,如果是文本模式打開,則返回字符串;否則返回字節流。對於寫方法也是如此
。
PIL 庫
-
PIL(Python Image Library)庫是Python的第三方庫
,具有強大的圖像處理能力。同樣使用pip install
命令安裝。 -
PIL 庫主要可以實現圖像歸檔和圖像處理兩方面的功能需求:
1) 圖像歸檔:對圖像進行批處理、生成圖像預覽、圖像格式轉換等
2) 圖像基本處理、像素處理、顏色處理 -
PIL 中有 21 個與圖片相關的類,這些類可視爲子庫或模塊,最常用的有
Image、ImageFilter、ImageEnhance
。
一、 Image 類
- 使用之前用語句將該類導入:
from PIL import Image
圖像讀取和創建
常用屬性
序列圖像操作方法
序列圖像文件主要指GIF、FLI、FLC、TIFF等
。
.seek(frame) 方法:跳轉並返回圖像中的指定幀。
.tell() 方法:返回當前幀的序號。
圖像轉換和保存方法
.save(filename,format):將圖像保存爲filename文件名,format是圖片格式
.convert(mode):使用不同參數,轉換圖像爲新的模式
.thumbnail(size):創建圖像的縮略圖,size是縮略圖尺寸的二元組
示例:
im = Image.open("img1069.jpg")
im.thumbnail((576, 324))
im.save("test.jpg", "JPEG")
圖像旋轉和縮放
.resize(size):按size大小調整圖像,生成副本
.rotate(angle):按angle角度旋轉圖像,生成副本
圖像像素和通道處理方法
.point(func):根據函數func的功能對每個元素進行運算,返回圖像副本
.split():提取RGB圖像中的每個顏色通道,返回圖像副本
.merge(mode,bands):合併通道,其中mode表示色彩,bands表示色彩通道
.blend(im1,im2,alpha):將兩幅圖片按照公式:im1*(1.0-alpha)+im2*alpha操作並生成新圖像。
二、 ImageFilter類和 ImageEnhance類
- 這兩個類用於過濾圖像和增強圖像。同樣使用前先導入
from PIL import ImageFilter,ImageEnchance
一二維數據的格式化和處理
-
數據組織分爲一維數據、二維數據和高維數據。
-
一維數據由對等關係的有序或無序數據構成,採用線性方式組織,對應數學的數組和集合
。 -
二維數據,也稱表格數據,由關聯關係構成,採用表格方式組織,對應數學中的矩陣
。 -
高維數據由鍵值對類型的數據構成,採用對象方式組織,屬於整合度更好的數據組織方式。HTML、XML、JSON等是高維數據的語法結構
。 -
數據包括文件存儲和程序使用兩種狀態。
一二維數據存儲格式
-
一維數據是最簡單的數據組織類型,有多種存儲格式,常採用特殊字符分隔,分隔方式如下:
1) 用一個或多個空格分隔
2) 用英文逗號分隔
3) 用其他符號或符號組分隔 -
分隔符的選取應當是數據中不會出現的字符。
-
二維數據由多條一維數據構成,國際通用的一二維數據存儲格式爲:CSV(Comma-Separated Values,逗號分隔值),該格式的應用有如下基本規則:
1) 純文本格式,單一編碼
2) 以行爲單位。開頭不留空行,行之間不留空行
3) 每行表示一個一維數據,多行表示二維數據
4) 以英文逗號分隔每列數據,列數據爲空也要保留逗號
5) 對於表格數據,可以包含或不包含列名,包含列名時放置文件第一行
一二維數據的表示和讀寫
- CSV文件的數據可以用二維列表來表示,示例如下:
fo = open(<filename>,’r’)
ls = []
for line in fo:
line = line.replace(“\n”, “”)
ls.append(line.splite(“,”)
print(ls)
fo.close()
# 單行數據添加可用如下語句:
ls=[……]
fo.write(“,”.join(ls)+ “\n”)
fo.close()
#多行數據時:
for row in ls:
<filename>.write(“,”.join(row)+”\n”)
JSON 庫
-
JSON格式可以對高維數據進行表達和存儲。
-
JSON(JavaScript Object Notation)
表達鍵值對的基本格式如下:
“key” : “value”
-
當多個鍵值對放在一起時,JSON有如下規定:
1) 數據保存在鍵值對中
2) 鍵值對之間用英文逗號分隔
3) 大括號用於保存鍵值對數據組成的對象
4) 方括號用於保存鍵值對數據組成的數組 -
json 庫是Python處理JSON格式文件的標準庫,使用之前import進來便可。
json庫包含兩個過程:編碼(encoding)和解碼(decoding)。編碼是Python數據類型轉換爲JSON格式的過程,解碼是JSON格式解析稱Python數據類型的過程
。
操作函數
CSV2JSON示例
:
import json
def csv2json():
fr = open("price2020.csv", "r", encoding="UTF-8")
ls = []
for line in fr:
line = line.replace("\n", "")
ls.append(line.split(','))
fr.close()
fw = open("price2020.json", "w", encoding="UTF-8")
for i in range(1, len(ls)):
ls[i] = dict(zip(ls[0], ls[i]))
json.dump(ls[1:], fw, sort_keys=True, indent=4, ensure_ascii=False)
fw.close()
if __name__ == "__main__":
csv2json()
JSON格式轉CSV
:
def json2csv():
fr = open("price2020.json", "r", encoding="UTF-8")
ls = json.load(fr)
data = [list(ls[0].keys())]
for item in ls:
data.append(list(item.values()))
fr.close()
fw = open("testJson2Csv.csv", "w", encoding="UTF-8")
for item in data:
fw.write(",".join(item) + "\n")
fw.close()
程序設計要採用自頂向下的設計方法,採用自底向上的執行方法
pyinstaller庫
pyinstaller庫,是一個將Python語言腳本打包成可執行文件的第三方庫,可用於Windows、Linux、MacOS X等操作系統
。
常用命令參數
第三方庫安裝
- Python安裝第三方庫有以下方式,
一、 pip工具安裝
- pip是Python官方提供並維護的在線第三方庫安裝工具。
- pip 支持安裝、下載、卸載、列表、查看、查找等一系列安裝和維護子命令。
安裝
pip install <package name>
更新
pip install -U <package name>
卸載
pip uninstall <package name>
列出已安裝第三方庫
pip list
查看指定庫的詳細信息
pip show <package name>
下載但不安裝
pip download <package name>
聯網查詢庫名或關鍵字
pip search <package name or key word>
二、 自定義安裝
- 指按照第三方庫提供的步驟和方式進行安裝,一般適用於pip中尚無登記或安裝失敗的庫。
三、 文件安裝
- 指到:
http://www.lfd.uci.edu/~gohlke/pythonlibs/
- 下載.whl文件到本地主機上後,再用pip install 命令來安裝
常用Python第三方庫
Numpy庫
- numpy 庫處理的最基礎數據類型是由同種元素構成的多維數組(ndarray)。
使用之前用如下語句導入numpy庫:
import numpy as np
數組創建函數
常用屬性
操作形態方法
算數運算函數
比較函數
算術方法
matplotlib庫
-
最常用的其子庫:pyplot,引用如下:
import matplotlib.pyplot as plt
-
用語句:
import matplotlib
matplotlib.rcParams[‘font.family’]=’字體名’
-
可以修改字體。