久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

如何利用Python處理文件中的數據?

今天馬哥教育要跟大家分享的文章是如何利用Python處理文件中的數據?前面我們學習了讀取文件和寫入文件,寫入文件的時候切記你是要用新的內容全部覆蓋舊的內容還是要續寫,否則一不小心你就有可能犯下錯誤,今天我們來講一下文件中數據的處理。Python入門新手和正在Python學習的小伙伴快來看一看吧,希望能夠對大家有所幫助 !

前面我們學習了讀取文件和寫入文件,寫入文件的時候切記你是要用新的內容全部覆蓋舊的內容還是要續寫,否則一不小心你就有可能犯下錯誤,忘記的同學再去回顧復習一下

我們已經知道了如何讀取和寫入文件。有了這兩個操作文件的方法,再加上對文件內容的處理,就能寫一些小程序,解決不少日常的數據處理工作。

比如我現在拿到一份文檔,里面有某個班級里所有學生的平時作業成績。因為每個人交作業的次數不一樣,所以成績的數目也不同,沒交作業的時候就沒有分。我現在需要統計每個學生的平時作業總得分。

記得我小的時候,經常有同學被老師喊去做統計分數這種“苦力”。現在電腦普及了,再這么干就太弱了。用Python,幾行代碼就可以搞定。

看一下我們的文檔里的數據:

#-- scores.txt

劉備 23 35 44 47 51

關羽 60 77 68

張飛 97 99 89 91

諸葛亮 100

1.先把文件讀進來:

f = file('scores.txt')

2.取得文件中的數據。因為每一行都是一條學生成績的記錄,所以用readlines,把每一行分開,便于之后的數據處理:

lines = f.readlines()

f.close()

提示:在程序中,經常使用print來查看數據的中間狀態,可以便于你理解程序的運行。比如這里你可以print lines,看一下內容被存成了什么格式。

3.對每一條數據進行處理。按照空格,把姓名、每次的成績分割開:

for line in lines:

data = line.split()

接下來的4、5兩個步驟都是針對一條數據的處理,所以都是在for循環的內部。

4.整個程序最核心的部分到了。如何把一個學生的幾次成績合并,并保存起來呢?我的做法是:對于每一條數據,都新建一個字符串,把學生的名字和算好的總成績保存進去。最后再把這些字符串一起保存到文件中:

sum = 0

for score in data[1:]:

sum += int(score)

result = '%s\t: %d\n' % (data[0], sum)

這里幾個要注意的點:

對于每一行分割的數據,data[0]是姓名,data[1:]是所有成績組成的列表。

每次循環中,sum都要先清零。

score是一個字符串,為了做計算,需要轉成整數值int。

result中,我加了一個制表符\t和換行符\n,讓輸出的結果更好看些。

5.得到一個學生的總成績后,把它添加到一個list中。

results.append(result)

results需要在循環之前初始化results = []

6.最后,全部成績處理完畢后,把results中的內容保存至文件。因為results是一個字符串組成的list,這里我們直接用writelines方法:

output = file('result.txt', 'w')

output.writelines(results)

outpus.close()

大功告成,打開文件檢驗一下結果吧。

以下是完整程序,把其中print前面的注釋符號去掉,可以查看關鍵步驟的數據狀態。不過因為字符編碼的問題,list的中文可能會顯示為你看不懂的字符。

f = file('scores.txt')

lines = f.readlines()

#print lines

f.close()

results = []

for line in lines:

#print line

data = line.split()

#print data

sum = 0

for score in data[1:]:

sum += int(score)

result = '%s \t: %d\n' % (data[0], sum)

#print result

results.append(result)

#print results

output = file('result.txt', 'w')

output.writelines(results)

output.close()

恭喜你在Python的道路上又堅持了一天,這節課的內容相對來說比較難,不太好消化,尤其是對于前幾節課沒有練習的同學,這節課我們用到了簡單的分割、文件讀取、字符轉化、加法運算、寫入文件、創建新文件等內容,你可得好好練習以求理解了,加油!

以上就是馬哥教育今天為大家分享的關于如何利用Python處理文件中的數據的文章,希望本篇文章能夠對正在Python學習?和從事Python相關工作的小伙伴們有所幫助,想要了解更多相關知識記得關注馬哥教育官網,每天都會有大量優質內容與大家分享!

聲明:文章來源于網絡,如有侵權請聯系刪除!

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 巴楚县| 大渡口区| 临城县| 扎兰屯市| 宁河县| 保山市| 加查县| 永善县| 额济纳旗| 扎兰屯市| 锡林浩特市| 七台河市| 高淳县| 阜康市| 三原县| 孟津县| 江陵县| 泾源县| 卫辉市| 阿合奇县| 濉溪县| 海阳市| 桃源县| 衡东县| 封开县| 娄底市| 蒙城县| 通榆县| 霍州市| 奎屯市| 阜新市| 农安县| 洱源县| 湖南省| 临城县| 兰考县| 长沙县| 佛山市| 元谋县| 察哈| 滁州市|