1. 程式人生 > >Python-文件和數據格式化

Python-文件和數據格式化

換行 技術分享 9.png put 適用於 extension sep 文件寫入 展現

文件的使用

>文件的類型

文件的理解:文件是數據的抽象和集合

-文件時存儲在輔助存儲器上的數據序列

-文件是數據存儲的一種形式

-文件展現形態:文本文件和二進制文件

文本文件vs.二進制文件

-文本文件和二進制文件只是文件的展示方式

-本質上,所有文件都是二進制形式存儲

-形式上,所有文件采用兩種方式展示

文本文件

-由單一特定編碼組成的文件,如UTF-8編碼

-由於存在編碼,也被看成是存儲著長字符串

-適用於例如:.txt文件、.py文件等

二進制文件

-直接由比特0和1的組織,沒有統一字符編碼

-一般存在二進制0和1的組織結構,即文件格式

-適用於例如:.png文件、.avi文件等

-文本形式:中國是個偉大的國家!

-二進制形式:b‘\xd6\xd0\xb9\xfa\xca\xc7\xb8\xf6\xce\xb0\xb4\xf3\xb5\ xc4\xb9\xfa\xbc\xd2\xa3\xa1‘

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

#文本形式打開文件 
tf = open("f.txt", "rt") 
print(tf.readline()) 
tf.close()
#中國是個偉大的國家!
#二進制形式打開文件 
bf = open("f.txt", "rb") 
print
(bf.readline()) bf.close() #b‘\xd6\xd0\xb9\xfa\xca\xc7\xb8\xf6\xce\xb0 \xb4\xf3\xb5\xc4\xb9\xfa\xbc\xd2\xa3\xa1‘

>文件的打開和關閉

文件處理的步驟:打開-操作-關閉

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

文件的關閉

<變量名>.close

>文件內容的讀取

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

>數據文件寫入

技術分享圖片

技術分享圖片

fo = open("output.txt","w+") 
ls = ["
中國", "法國", "美國"] fo.writelines(ls) for line in fo:   print(line) fo.close()
#沒有任何輸出
fo = open("output.txt","w+") 
ls = ["中國", "法國", "美國"] 
fo.writelines(ls) 
fo.seek(0) 
for line in fo: 
    print(line)
fo.close()
#中國法國美國


一維數據的格式化和處理

>數據組織的維度

一維數據:由對等關系的有序或無序,采用線性方式組織

二維數據:由多個一維數據構成,是一維數據的組合形式

技術分享圖片

>一維數據的表示

如果數據間有序:使用列表類型

-for循環可以遍歷數據,進而對每個數據進行處理

如果數據間無序:使用集合類型

-for。。。

>一維數據的存儲

存儲方式一: 空格分隔

中國 美國 日本 德國 法國 英國 意大利

-使用一個或多個空格分隔進行存儲,不換行

-缺點:數據中不能存空格

存儲方式二:逗號分隔

中國,美國,日本,德國,法國,英國,意大利

-使用英文半角逗號分割數據進行存儲,不換行

-缺點:數據中不能有英文逗號

存儲方式三:其他方式

中國$美國$日本$德國$法國$英國$意大利

-使用其他符號或符號組合隔離,建議采用特殊符號

-缺點:需要根據數據特點定義,通用性差

>一維數據的處理

技術分享圖片

技術分享圖片

txt=open(fname).read()
ls=txt.split()
f.close
ls
#[‘中國‘, ‘美國‘, ‘日本‘, ‘德國 ‘, ‘法國‘, ‘英國‘, ‘意大利‘]

技術分享圖片

txt=open(fname).read()
ls=txt.split("$")
f.close
ls
#[‘中國‘, ‘美國‘, ‘日本‘, ‘德國 ‘, ‘法國‘, ‘英國‘, ‘意大利‘]

采用空格分隔方式將數據寫入文件

ls = [中國, 美國, 日本] 
f = open(fname, w) 
f.write( .join(ls)) 
f.close()

采用特殊分隔方式將數據寫入文件

ls = [中國, 美國, 日本] 
f = open(fname, w) 
f.write($.join(ls)) 
f.close()


二維數據的格式化和處理

>二維數據的表示

技術分享圖片

技術分享圖片

技術分享圖片

>CSV數據存儲格式

CSV: Comma-Separated Values

-國際通用的一二維數據存儲格式,一般.csv擴展名

-每行一個一維數據,采用逗號分隔,無空行

-Excel和一般編譯軟件都可以讀入或另存為CSV文件

技術分享圖片

-如果某個元素缺失,逗號仍要保留

-二維數據的表頭可以作為數據存儲,也可以另行存儲

-逗號為英文半角逗號,逗號與數據之間無額外空格

>二維數據的存儲

技術分享圖片

>二維數據的處理

二維數據的讀入處理

從CSV格式文件中讀入數據

fo =open(fname)
ls=[]
for line in fo:
    line = line.replace("\n","")
    ls.append(line.split(","))
fo.close()

二維數據的寫入處理

將數據寫入CSV格式文件

ls=[[],[],[]] #二維列表
f=open(fname,w)
for item in ls:
    f.write(,.join(item)+\n)
f.close

二位數據的逐一處理

采用二層循環

ls=[[],[],[]] #二維列表
for row in ls:
    for column in row:
        print(ls[row][colum])

部分圖片來自慕課https://www.icourse163.org/course/BIT-268001 若侵權請告知刪除

技術分享圖片

Python-文件和數據格式化