網頁

2025年7月29日 星期二

Python 文字檔的修改資料

 一、主題介紹:

文字檔 (.txt) 怎麼修改資料是今天這篇文章的重點,也是承接上篇文章的範例繼續延伸,要修改文字檔內容資料前,必須先將文字檔內容讀出資料後才能修改它,而讀取到的資料就得放入陣列暫存器中,這樣再修改陣列中的資料就簡單多了;首先來談談我們需要用到的指令。

(1) strip():移除換行符號 "\n"。

(2) split():將每行欄位分別拆分。

(3) append():用於串列尾端新增一個元素。

(4) join():用於將多個字串元素合併為一個字串。

(5) map():把某個函式依序套用在一個可替代物件的每個元素上,產生一個新的可替代結果。

(6) write():將文字寫入檔案的方法。


二、程式範例:

(1)文字檔內容

序 編號 公司 聯絡人 行動電話 備註

1 B001 加佳 張三 0900-123456

2 E150 億元 胡二 0900-111111

3 C455 成功 王八 0921-168168

4 A666 上榜 李四 0900-777777

5 D050 旺旺 鄭一 0900-888888

6 E150 億元 胡二 0900-111111

7 E150 億元 胡二 0900-111111

9,E150,億元,胡二,0900-111111


(2)程式內容


class TxtAccess:

    def __init__(self,file):   #初始化
        self.__file = file

    def search(self):   #查詢
        with open(self.__file,"r",encoding="utf-8") as fobj:
            datas = fobj.read()
        return datas
   
    def newadd(self,datas):   #新增
        with open(self.__file,"a",encoding="utf-8") as fobj:
            fobj.write("\n")
            for i in range(0,len(datas),1):
                fobj.write(str(datas[i]))
                fobj.write(",")

    def modify(self,id,newdata):   #修改
        array = []
        with open(self.__file,"r",encoding="utf-8") as fobj:
            for line in fobj:
                row = line.strip().split()
                array.append([x for x in row])
        array[id] = newdata
        with open(self.__file,"w",encoding="utf-8") as fobj:
            for row in array:
                line = ' '.join(map(str,row))
                fobj.write(line+"\n")
   
    def show(self,data):   #顯示
        print(data)


file = "data.txt"
datas = ['9','E150','億元','胡二','0900-111111']
A = TxtAccess(file)
#修改
A.modify(4,datas)
sr = A.search()
A.show(sr)


#執行結果 ..

序 編號 公司 聯絡人 行動電話 備註

1 B001 加佳 張三 0900-123456

2 E150 億元 胡二 0900-111111

3 C455 成功 王八 0921-168168

9 E150 億元 胡二 0900-111111

5 D050 旺旺 鄭一 0900-888888

6 E150 億元 胡二 0900-111111

7 E150 億元 胡二 0900-111111

9,E150,億元,胡二,0900-111111,


三、程式說明:

由執行程式結果可以知道,原本第 4 項的文字檔內容被修改掉了,所以修改資料內容是存取文字檔功能當中的其中一個,下一篇要來介紹刪除文字檔的資料,請寄的訂閱,下篇文章上架時會通知您。

沒有留言:

張貼留言

TQC+ Python 證照考題評量(五十四) - 平均溫度

 一、主題介紹: 資料庫中的一堆數據資料,時常需要這些資料的平均值、最大值、與最小值,作為分析資料的依據,如能透過寫程式讓它們自動化就能增加效率,就來看看今天的 TQC+ 考題的練習。 (1) 題目 請撰寫一程式,讓使用者輸入四週各三天的溫度,接著計算並輸出這四週的平均溫度及最高...