這篇文章主要介紹python寫文件及數(shù)據(jù)處理的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制網(wǎng)站建設(shè)服務(wù),專注于成都定制網(wǎng)站,高端網(wǎng)頁制作,對主動防護網(wǎng)等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計,網(wǎng)站優(yōu)化推廣哪家好,專業(yè)成都網(wǎng)站推廣優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。
python默認是以只讀模式打開文件。如果想要寫入內(nèi)容,在打開文件的時候需要指定打開模式為寫入:
f = open('output.txt', 'w')
'w'就是writing,以這種模式打開文件,原來文件中的內(nèi)容會被你新寫入的內(nèi)容覆蓋掉,如果文件不存在,會自動創(chuàng)建文件。
不加參數(shù)時,open為你默認為'r',reading,只讀模式,文件必須存在,否則引發(fā)異常。
另外還有一種模式是'a',appending。它也是一種寫入模式,但你寫入的內(nèi)容不會覆蓋之前的內(nèi)容,而是添加到文件中。
輸出文件:
示例演示——利用python操作數(shù)據(jù)處理
看一下我們的文檔里的數(shù)據(jù):
劉備 23 35 44 47 51 關(guān)羽 60 77 68 張飛 97 99 89 91 諸葛亮 100
1.先把文件讀進來:
f = file('scores.txt')
2.取得文件中的數(shù)據(jù)。因為每一行都是一條學(xué)生成績的記錄,所以用readlines,把每一行分開,便于之后的數(shù)據(jù)處理:
lines = f.readlines() f.close()
提示:在程序中,經(jīng)常使用print來查看數(shù)據(jù)的中間狀態(tài),可以便于你理解程序的運行。比如這里你可以print lines,看一下內(nèi)容被存成了什么格式。
3.對每一條數(shù)據(jù)進行處理。按照空格,把姓名、每次的成績分割開:
for line in lines: data = line.split()
接下來的4、5兩個步驟都是針對一條數(shù)據(jù)的處理,所以都是在for循環(huán)的內(nèi)部。
4.整個程序最核心的部分到了。如何把一個學(xué)生的幾次成績合并,并保存起來呢?我的做法是:對于每一條數(shù)據(jù),都新建一個字符串,把學(xué)生的名字和算好的總成績保存進去。最后再把這些字符串一起保存到文件中:
sum = 0 for score in data[1:]: sum += int(score) result = '%s\t: %d\n' % (data[0], sum)
這里幾個要注意的點:
對于每一行分割的數(shù)據(jù),data[0]是姓名,data[1:]是所有成績組成的列表。 每次循環(huán)中,sum都要先清零。 score是一個字符串,為了做計算,需要轉(zhuǎn)成整數(shù)值int。 result中,我加了一個制表符\t和換行符\n,讓輸出的結(jié)果更好看些。
5.得到一個學(xué)生的總成績后,把它添加到一個list中。
results.append(result) results需要在循環(huán)之前初始化results = []
6.最后,全部成績處理完畢后,把results中的內(nèi)容保存至文件。因為results是一個字符串組成的list,這里我們直接用writelines方法:
output = file('result.txt', 'w') output.writelines(results) outpus.close()
輸出結(jié)果:
以上是python寫文件及數(shù)據(jù)處理的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)站題目:python寫文件及數(shù)據(jù)處理的方法
標(biāo)題URL:http://jinyejixie.com/article14/jjipge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、微信公眾號、全網(wǎng)營銷推廣、定制開發(fā)、品牌網(wǎng)站設(shè)計、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)