您好,登錄后才能下訂單哦!
小編給大家分享一下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處理寫入數據的方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。