python檔案和資料格式化

2021-09-11 18:39:28 字數 4197 閱讀 9724

檔案和資料格式化

一、檔案的使用

檔案的型別

檔案是資料的抽象和集合

檔案是儲存在輔助儲存器上的資料序列

檔案是資料儲存的一種形式

檔案展現形態:文字檔案和二進位制檔案

檔案檔案和二進位制檔案只是檔案的展示方式

本質上,所有檔案都是二進位制形式儲存

形式上,所有檔案採用兩種方式展示

文字檔案:由單一特定編碼組成的檔案,如utf-8編碼;由於存在編碼,也被看成是儲存著的長字串

二進位制檔案:直接由位元0和1組成,沒有統一字元編碼;一般存在二進位制0和1的組織結構,即檔案格式

檔案的開啟關閉

檔案處理的步驟: 開啟-操作-關閉

檔案的開啟

《變數名》 = open(「《檔名》, 《開啟模式》」)

開啟模式

『r』 唯讀模式,預設值,如果檔案不存在,返回filenotfounderror

『w』 覆蓋寫模式,檔案不存在則建立,存在則完全覆蓋

『x』 建立寫模式,檔案不存在則建立,存在則返回fileexistserror

『a』 追加寫模式,檔案不存在則建立,存在則在檔案最後追加內容

『b』 二進位制檔案模式

『t』 文字檔案模式,預設值

『+』 與r/w/x/a一同使用,在原功能基礎上增加同時讀寫功能

檔案的關閉

《變數名》.close()

檔案內容的讀取

.read(size=-1):讀入全部內容,如果給出引數,讀入前size長度

.readline(size=-1):讀入一行內容,如果給出引數,讀入該行前size長度

.readlines(hint=-1):讀入檔案所有行,以每行為元素形成列表如果給出引數,讀入前hint行

檔案的全文本操作

#遍歷全文本:方法一

fname =

input

("請輸入要開啟的檔名稱:"

)fo =

open

(fname,

"r")

txt = fo.read(

)#對全文txt進行處理

fo.close(

)#遍歷全文本:方法二

fname =

input

("請輸入要開啟的檔名稱:"

)fo =

open

(fname,

"r")

txt = fo.read(2)

while txt !="":

#對txt進行處理

txt = fo.read(2)

fo.close(

)

檔案的逐行操作

#逐行遍歷檔案:方法一

fname =

input

("請輸入要開啟的檔名稱:"

)fo =

open

(fname,

"r")

for line in fo.readlines():

print

(line)

fo.close(

)#逐行遍歷檔案:方法二

fname =

input

("請輸入要開啟的檔名稱:"

)fo =

open

(fname,

"r")

for line in fo:

print

(line)

fo.close(

)

資料的檔案寫入

.write(s):向檔案寫入乙個字串或位元組流

.writelines(lines):將乙個元素全為字串的列表寫入檔案

.seek(offset):改變當前檔案操作指標的位置,offset含義如下: 0 – 檔案開頭; 1 – 當前位置; 2 – 檔案結尾

二 資料格式化

一維資料:由對等關係的有序或無序資料構成,採用線性方式組織

對應列表、陣列和集合等概念

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

**是典型的二維資料

多維資料:由一維或二維資料在新維度上擴充套件形成

高維資料:利用最基本的二元關係(鍵值對)展示資料間的複雜結構

(一)一維資料

一維資料的表示

如果資料間有序:使用列表型別

列表型別可以表達一維有序資料

for迴圈可以遍歷資料,進而對每個資料進行處理

如果資料間無序:使用集合型別

集合型別可以表達一維無序資料

for迴圈可以遍歷資料,進而對每個資料進行處理

一維資料的儲存

儲存方式一:空格分隔

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

缺點:資料中不能存在空格

儲存方式二:逗號分隔

使用英文半形逗號分隔資料進行儲存,不換行

缺點:資料中不能有英文逗號

儲存方式三:其他方式

使用其他符號或符號組合分隔,建議採用特殊符號

缺點:需要根據資料特點定義,通用性較差

一維資料的處理

一維資料的讀入處理

#例:從空格分隔的檔案中讀入資料

txt =

open

(fname)

.read(

)ls = txt.split(

)f.close(

)

一維資料的寫入處理

#例:採用空格分隔方式將資料寫入檔案

ls =

['中國'

,'美國'

,'日本'

]f =

open

(fname,

'w')

f.write(

' '.join(ls)

)f.close(

)

(二)二維資料

csv格式與二維資料儲存

國際通用的一二維資料儲存格式,一般.csv副檔名

每行乙個一維資料,採用逗號分隔,無空行

excel軟體可讀入輸出,一般編輯軟體都可以產生

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

二維資料的表頭可以作為資料儲存,也可以另行儲存

逗號為英文半形逗號,逗號與資料之間無額外空格

二維資料的表示:使用二維列表

使用兩層for迴圈遍歷每個元素

外層列表中每個元素可以對應一行,也可以對應一列

二維資料的儲存:通常按行存; 外層列表每個元素是一行

二維資料的處理

二維資料的讀入處理

#例:從csv格式的檔案中讀入資料

fo =

open

(fname)

ls =

for line in fo:

line = line.replace(

"\n",""

)","))

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]

[column]

)

Python學記 十二 檔案和資料格式化 上

2019.7.15 好久沒學了,趕緊拾起來 用f.txt檔案儲存 中國是個偉大的國家!文字形式開啟檔案 tf open f.txt rt print tf.readline tf.close 中國是個偉大的國家!二進位制形式開啟檔案 bf open f.txt rb print bf.readlin...

資料格式化

一維資料,二維資料,多維資料 就是典型的多維資料 高維資料 資料儲存 資料表示 資料操作 列表型別可以表達一維有序資料 for迴圈可以遍歷資料,進而對每個資料進行處理 如果資料間無序,可以使用集合型別 集合型別可以表達一維無序資料 for迴圈可以遍歷資料,進而對每個資料進行處理 儲存方式一 空格分隔...

python 將json資料格式化寫入檔案

from taxii2client import server import json server server api roots server.api roots for api root in api roots collections api root.collections for co...