python處理寫入數(shù)據(jù)的方法

小編給大家分享一下python處理寫入數(shù)據(jù)的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括云巖網(wǎng)站建設(shè)、云巖網(wǎng)站制作、云巖網(wǎng)頁制作以及云巖網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,云巖網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到云巖省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

首先要利用python進(jìn)行讀取整個(gè)文件,然后逐行讀取,最后寫入數(shù)據(jù)。具體實(shí)現(xiàn)步驟參考如下:

步驟一、讀取整個(gè)文件

先在當(dāng)前目錄下創(chuàng)建一個(gè)TXT文件,例如文件名為’pi_digits.txt’的文本文件,里面的數(shù)據(jù)如下:

3.1415926535
8979323846
2643383279
with open('pi_digits.txt') as f: # 默認(rèn)模式為‘r’,只讀模式
   contents = f.read() # 讀取文件全部內(nèi)容
   print contents # 輸出時(shí)在最后會多出一行(read()函數(shù)到達(dá)文件末會返回一個(gè)空字符,顯示出空字符就是一個(gè)空行)
   print '------------'
   print  contents.rstrip() # rstrip()函數(shù)用于刪除字符串末的空白
3.1415926535
8979323846
2643383279
------------
3.1415926535
8979323846
2643383279

步驟二、逐行讀取

有兩種方式可以進(jìn)行逐行讀取。

方法1:可以通過循環(huán)方式來實(shí)現(xiàn)逐行讀取數(shù)據(jù)。

with open('pi_digits.txt') as f:
   for line1 in f:
       print line1 # 每行末尾會有一個(gè)換行符
   print '------------'
   for line2 in f:
       print line2.rstrip() # 此時(shí)文件已經(jīng)讀完,line2指向文本末尾,因此不會有輸出
3.1415926535
8979323846
2643383279
------------

進(jìn)行文件讀取時(shí),會一直標(biāo)記記錄讀取的位置,數(shù)據(jù)讀到哪,標(biāo)記就放到哪邊,繼續(xù)讀取數(shù)據(jù)時(shí)會從該位置繼續(xù)讀取,因此上面代碼中第二個(gè)循環(huán)中輸出為空。將上述代碼稍加修改如下:

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

方法2:比上述更簡單的方式,逐行讀取數(shù)據(jù)可以用readlines()函數(shù),如下:

with open('pi_digits.txt') as f:
   lines = f.readlines() # 讀取文本中所有內(nèi)容,并保存在一個(gè)列表中,列表中每一個(gè)元素對應(yīng)一行數(shù)據(jù)
print lines # 每一行數(shù)據(jù)都包含了換行符
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

步驟三、數(shù)據(jù)寫入文件

對于寫入數(shù)據(jù)幾種模式里,最常用的是w’, ‘a(chǎn)’, 分別表示擦除原有數(shù)據(jù)再寫入和將數(shù)據(jù)寫到原數(shù)據(jù)之后:

filename = 'write_data.txt'
with open(filename,'w') as f: # 如果filename不存在會自動創(chuàng)建, 'w'表示寫數(shù)據(jù),寫之前會清空文件中的原有數(shù)據(jù)!
   f.write("I am Meringue.\n")
f.write("I am now studying in NJTECH.\n")

現(xiàn)在當(dāng)前路徑下創(chuàng)建了一個(gè)’write_data.txt’的文本文件,然后向文件中寫入數(shù)據(jù)如下:

I am Meringue.
I am now studying in NJTECH.

在該文件中繼續(xù)加入新數(shù)據(jù):

with open(filename,'a') as f: # 'a'表示append,即在原來文件內(nèi)容后繼續(xù)寫數(shù)據(jù)(不清楚原有數(shù)據(jù))
f.write("I major in Machine learning and Computer vision.\n")

最后輸出的文件內(nèi)容:

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

以上是python處理寫入數(shù)據(jù)的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁名稱:python處理寫入數(shù)據(jù)的方法
網(wǎng)頁路徑:http://muchs.cn/article42/pphpec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、靜態(tài)網(wǎng)站外貿(mào)網(wǎng)站建設(shè)、外貿(mào)建站面包屑導(dǎo)航、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作