好久沒有更新!這半年一直在掙扎學業和興趣的選擇!接下來我會好好跟大家分享我的技術修煉之旅!我們先從最簡單的開始吧!建議在電腦端打開,手機端貌似不能看到完整的代碼。
今天跟大家分享一下,如何在Pycharm中讀取.txt文件。每一個學Python的人都應該聽過這個名字,PyCharm真的很好用!初學者的話不建議漢化,畢竟很多技術文檔都是英文寫的,平時多接觸也有很多好處。初學者在學習數據分析的時候肯定要從外部導入Excel表格中的內容,這個時候需要在項目文件下建立.txt文件進行粘貼複製內容,但是有時候讀取不出來。會報錯,就是下面這個樣子。
顯示無法解碼編譯,這個時候我們應該在PyCharm的file裡面
找到settings
點開它,將其設置為圖片中utf-8的形式,
python的IDE本身自帶的也是utf-8的環境,所以不需要修改,我使用的是Python3.9.0
然後就是讀入文件了,這個時候不同的電腦可能操作不一樣。舉個例子:
"""
result[course][max/min/sum/count]
result["語文"]["max"] = 99
result["語文"]["min"] = 75
result["語文"]["sum"] = 800
result["語文"]["count"] = 10
result["數學"]["max"] = 10
result["數學"]["min"] = 10
result["數學"]["sum"] = 10
result["數學"]["count"] = 10
"""
result = {}
with open("input.txt") as fin:
for line in fin:
line = line.strip()
fields = line.split("\t")
name, course, grade = fields
if course not in result:
result[course] = {}
result[course]["max"] = 0
result[course]["min"] = 999
result[course]["sum"] = 0
result[course]["count"] = 0
grade = int(grade)
if grade > result[course]["max"]:
result[course]["max"] = grade
elif grade < result[course]["min"]:
result[course]["min"] = grade
result[course]["sum"] += grade
result[course]["count"] += 1
for key, value in result.items():
print(key, value)
out_fields = [
key,
value["max"],
value["min"],
value["sum"]/value["count"]
]
print(out_fields)
這是一段Python代碼,它在Mac筆記本上是可以直接運行,不會報錯,但是在window筆記本上是會報錯的,報錯內容就是第一張照片上面的,這個時候需要加一些代碼
with open("input.txt") as fin:
修改這一行的代碼為下面形式
with open("input.txt",'r',encoding='utf8') as fin:
再次運行就沒有問題了
主要還是要聲明文件打開的編碼格式以及打開權限。