第七週:文件和數據格式化(Python學習筆記)

文件和數據格式化

數據格式化:將一組數據按照一定規格和式樣進行規範:表示、存儲、運算等

  • 文件的使用
  • 一維數據的格式化和處理
  • 二維數據的格式化和處理

文件的使用

文件的類型

文件是數據的抽象和集合
文件是存儲在輔助存儲器上的數據序列
文件時數據存儲的一種形式
文件展現形態:文本文件和二進制文件
文本文件vs.二進制文件
文本文件和二進制文件值是文件的展示方式
本質上,所有文件都是二進制形式存儲
形式上,所有文件採用兩種方式展示
文本文件
由單一特定編碼組成的文件,如UTF-8編碼
由於存在編碼,也被看成是存儲着的長字符串
適用於例如:.txt文件、.py文件
二進制文件
直接由比特0和1組成,沒有同意字符編碼
一般存在二進制0和1的組織結構,即文件格式
適用於例如:.png文件、.avi文件等
這裏寫圖片描述

f.txt文件保存:“中國是個偉大的國家!”

#文本形式打開文件
tf = open("f.txt"."rt")
print(tf.readline())
tf.close()

將上述代碼和f.txt文件保存在同一個目錄,運行後將會得到
這裏寫圖片描述

#二進制形式打開文件
bf = open("f.txt","rb")
print(bf.readline())
bf.close()

將上述代碼和f.txt文件保存在同一個目錄,運行後將會得到
這裏寫圖片描述

文件的打開和關閉

文件處理的步驟:打開-操作-關閉
這裏寫圖片描述

文件的打開
這裏寫圖片描述
這裏寫圖片描述

文件的打開模式
七種:’r’ , ‘w’ , ‘x’ , ‘a’ , ‘b’ , ‘t’ , ‘+’
這裏寫圖片描述
這裏寫圖片描述
文件的關閉
這裏寫圖片描述

文件內容的讀取

方法:a.read(size=-1)、a.readline(size=-1)、a.readlines(hint=-1)
這裏寫圖片描述
這裏寫圖片描述

遍歷全文本:方法一
這裏寫圖片描述
遍歷全文本:方法二
這裏寫圖片描述
文件的逐行操作
逐行遍歷文件:方法一
這裏寫圖片描述
逐行遍歷文件:方法二
這裏寫圖片描述

數據的文件寫入

操作方法:a.write(s) 、a.writelines(lines) 、a.seek(offset)
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

小結

  1. 文件的使用方式:打開-操作-關閉
  2. 文本文件&二進制文件,open(,)和close(,)
  3. 文件內容的讀取:.read() .readline() .readlines()
  4. 數據的文件寫入:.write() .writelines() .seek()

一維數據的格式化和處理

數據組織的維度

從一個數據到一組數據
這裏寫圖片描述
維度:一組數據的組織形式
這裏寫圖片描述
一維數據
由對等關係的有序或無序數據構成,採用線性方式組織

對應列表、數組和集合等概念

二維數據
由多個一維數據構成,是一維數據的組合形式
這裏寫圖片描述
多維數據
由一維或二維數據在新維度上擴展形成
這裏寫圖片描述
高維數據
僅利用最基本的二元關係展示數據間的複雜結構
這裏寫圖片描述
數據的操作週期
存儲<->表示<->操作
這裏寫圖片描述

一維數據的表示

如果數據間有序:使用列表類型
列表類型可以表達一維有序數據
for循環可以遍歷數據,進而對每個數據進行處理
如果數據間無序:使用集合類型
集合類型可以表達一維無序數據
for循環可以遍歷數據,進而對每個數據進行處理

一維數據的存儲

存儲方式一:空格分隔
使用一個或多個空格進行存儲,不換行
缺點:數據中不能存在空格
這裏寫圖片描述
存儲方式二:逗號分隔
使用英文半角逗號分隔數據進行存儲,不換行
缺點:數據中不能由英文逗號
這裏寫圖片描述
存儲方式三:其他方式
使用其他符號或符號組合分隔,建議採用特殊符號
缺點:需要根據數據特點定義,通用性較差
這裏寫圖片描述

一維數據的處理

存儲<->表示
這裏寫圖片描述
從空格分隔的文件中讀入數據
這裏寫圖片描述
從特殊符號分隔的文件中讀入數據
這裏寫圖片描述
採用空格分隔方式將數據寫入文件
這裏寫圖片描述
採用特殊分隔方式將數據寫入文件
這裏寫圖片描述

小結

  1. 數據的維度:一維、二維、多維、高維
  2. 一維數的表示:列表類型(有序)和集合類型(無序)
  3. 一維數據的存儲:空格分隔、逗號分隔、特殊符號分隔
  4. 一維數據的處理:字符串方法 .split()和.join()

二維數據的格式化和處理

二維數據的表示

使用列表類型
列表類型可以表達二位數據
使用二維列表
使用兩層for循環遍歷每個元素
外層列表中每個元素可以對應一行,也可以對應一列
數據維度數數據的組織形式
一維數據:列表和集合類型
二維數據:列表類型

CAV格式與二維數據存儲

csv:Comma-Separated Values(由逗號分隔的值)
國際通用的一二維數據存儲格式,一般.csv擴展名
每行一個一維數據,採用逗號分隔,無空行
Excel軟件可讀入輸出,一般編輯軟件都可以產生
這裏寫圖片描述
如果某個元素缺失,逗號仍要保留
二位數據的表頭可以作爲數據存儲,也可以另行存儲
逗號爲英文半角逗號,逗號與數據之間無額外空格
按行存?按列存?
按行存或按列存都可以,具體由程序決定
一般索引習慣:ls[row][column],先行後列
根據一般習慣,外層列表每個元素是一行,按行存

二維數據的處理

從CSV格式的文件中讀入數據
這裏寫圖片描述
將數據寫入CSV格式的文件
這裏寫圖片描述
採用二層循環
這裏寫圖片描述

小結

  1. 二維數據的表示:列表類型,其中每個元素也是一個列表
  2. CSV格式:逗號分隔表示一維,按行分隔表示二維
  3. 二維數據的處理:for循環+.split()和.join()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章