python處理寫入數(shù)據(jù)代碼講解
首先要利用python進(jìn)行讀取整個文件,然后逐行讀取,最后寫入數(shù)據(jù)。具體實(shí)現(xiàn)步驟參考如下:
步驟一、讀取整個文件
先在當(dāng)前目錄下創(chuàng)建一個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 # 輸出時在最后會多出一行(read()函數(shù)到達(dá)文件末會返回一個空字符,顯示出空字符就是一個空行) 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 # 每行末尾會有一個換行符 print '------------' for line2 in f: print line2.rstrip() # 此時文件已經(jīng)讀完,line2指向文本末尾,因此不會有輸出 3.1415926535 8979323846 2643383279 ----------
進(jìn)行文件讀取時,會一直標(biāo)記記錄讀取的位置,數(shù)據(jù)讀到哪,標(biāo)記就放到哪邊,繼續(xù)讀取數(shù)據(jù)時會從該位置繼續(xù)讀取,因此上面代碼中第二個循環(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)容,并保存在一個列表中,列表中每一個元素對應(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)建了一個'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ù)寫入文件方法啦,如需了解更多python實(shí)用知識,點(diǎn)擊進(jìn)入PyThon學(xué)習(xí)網(wǎng)教學(xué)中心。
到此這篇關(guān)于python處理寫入數(shù)據(jù)代碼講解的文章就介紹到這了,更多相關(guān)python處理寫入數(shù)據(jù)教學(xué)教程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python對Excel進(jìn)行處理的實(shí)操指南
這篇文章主要給大家介紹了關(guān)于Python對Excel進(jìn)行處理的實(shí)操指南,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03python實(shí)現(xiàn)批量處理將圖片粘貼到另一張圖片上并保存
今天小編就為大家分享一篇python實(shí)現(xiàn)批量處理將圖片粘貼到另一張圖片上并保存,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12基于Python采集爬取微信公眾號歷史數(shù)據(jù)
這篇文章主要介紹了基于Python采集爬取微信公眾號歷史數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11教你使用Python建立任意層數(shù)的深度神經(jīng)網(wǎng)絡(luò)
這篇文章主要介紹了Python建立任意層數(shù)的深度神經(jīng)網(wǎng)絡(luò),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08