1. 程式人生 > 程式設計 >python處理寫入資料程式碼講解

python處理寫入資料程式碼講解

首先要利用python進行讀取整個檔案,然後逐行讀取,最後寫入資料。具體實現步驟參考如下:

步驟一、讀取整個檔案

先在當前目錄下建立一個TXT檔案,例如檔名為'pi_digits.txt'的文字檔案,裡面的資料如下:

3.1415926535
8979323846
2643383279
with open('pi_digits.txt') as f: # 預設模式為‘r',只讀模式
  contents = f.read() # 讀取檔案全部內容
  print contents # 輸出時在最後會多出一行(read()函式到達檔案末會返回一個空字元,顯示出空字元就是一個空行)
  print '------------'
  print contents.rstrip() # rstrip()函式用於刪除字串末的空白
3.1415926535
8979323846
2643383279

------------
3.1415926535
8979323846
2643383279

步驟二、逐行讀取

有兩種方式可以進行逐行讀取。

方法1:可以通過迴圈方式來實現逐行讀取資料。

with open('pi_digits.txt') as f:  
for line1 in f:    
print line1 # 每行末尾會有一個換行符
print '------------'
for line2 in f:    
print line2.rstrip() # 此時檔案已經讀完,line2指向文字末尾,因此不會有輸出
3.1415926535

8979323846

2643383279

----------

進行檔案讀取時,會一直標記記錄讀取的位置,資料讀到哪,標記就放到哪邊,繼續讀取資料時會從該位置繼續讀取,因此上面程式碼中第二個迴圈中輸出為空。將上述程式碼稍加修改如下:

with open('pi_digits.txt') as f:  
for line1 in f:   
print line1  
print '------------'
with open('pi_digits.txt') as f: # 需要重新開啟文字進行讀取
for line2 in f:    
print line2.rstrip() # 刪除字串末尾的空白
3.1415926535

8979323846

2643383279

------------
3.1415926535
8979323846
2643383279

方法2:比上述更簡單的方式,逐行讀取資料可以用readlines()函式,如下:

with open('pi_digits.txt') as f: 
lines = f.readlines() # 讀取文字中所有內容,並儲存在一個列表中,列表中每一個元素對應一行資料
print lines # 每一行資料都包含了換行符
print '------------'
for line in lines:  
print line.rstrip()  
print '------------'
pi_str = '' # 初始化為空字元
for line in lines:
pi_str += line.rstrip() #字串連線
print pi_str
['3.1415926535\n','8979323846\n','2643383279\n']
------------
3.1415926535
8979323846
2643383279
------------
3.141592653589793238462643383279

步驟三、資料寫入檔案

對於寫入資料幾種模式裡,最常用的是w',‘a',分別表示擦除原有資料再寫入和將資料寫到原資料之後:

filename = 'write_data.txt'
with open(filename,'w') as f: # 如果filename不存在會自動建立, 'w'表示寫資料,寫之前會清空檔案中的原有資料!
f.write("I am Meringue.\n")
f.write("I am now studying in NJTECH.\n")

現在當前路徑下建立了一個'write_data.txt'的文字檔案,然後向檔案中寫入資料如下:

I am Meringue.
I am now studying in NJTECH.

在該檔案中繼續加入新資料:

with open(filename,'a') as f: # 'a'表示append,即在原來檔案內容後繼續寫資料(不清楚原有資料)
f.write("I major in Machine learning and Computer vision.\n")

最後輸出的檔案內容:

I am Meringue.
I am now studying in NJTECH.
I major in Machine learning and Computer vision.

以上就是利用python將資料寫入檔案方法啦,如需瞭解更多python實用知識,點選進入PyThon學習網教學中心

到此這篇關於python處理寫入資料程式碼講解的文章就介紹到這了,更多相關python處理寫入資料教學教程內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!