我在学校做计算,但他们的python版本与我在家里的版本不同,每次我尝试在家里的电脑上运行我在学校做的文件时,它都会说“
UnicodeDecodeError: 'ascii' 编解码器无法解码位置 11 中的字节 0x90:序号不在范围内 (128)"
任何帮助表示赞赏
到目前为止,这是我的代码。
classc = int(input("WHich classes scores do you want to see 1 or 2 or 3"))
if classc ==1:
import csv
print("H")
with open("class1.csv","r") as csv1file:
csvfile1reader = csv.reader(csv1file)
csv1 = []
for row in csvfile1reader:
if len (row) != 0:
csv1 = csv1 + [row]
print("Here are the scores for class1 in aphabetical order!")
import operator
hl = open ("class1.csv","r")
csvo = csv.reader(hl,delimiter='0')
sort1 = sorted(csv1,key=operator.itemgetter(0))
for row in sort1:
print (row)
print("these are the highest to lowest score")
h2 = open ("class1.csv","r")
csvo = csv.reader(hl,delimiter=' ')
sort2 = sorted(csv1,key=operator.itemgetter(1))
for row in sort2:
print (row)
import csv
with open('class1.csv') as handle:
reader = csv.reader(handle)
next(reader, None)
for row in reader:
user, *scores = row
average = sum([int(score) for score in scores]) / len(scores)
print (
"{user} has average of {average}".format(user=user, average=average)
)
Run Code Online (Sandbox Code Playgroud)
0x90确实超出了 ASCII 的范围,它只涵盖0x00到0x7f. 该文件可能采用某种 Unicode 编码,也可能采用 ISO-8859 系列中的某种 8 位编码。一旦你发现了这一点,用codecs模块打开你的文件。假设您的编码是 ISO-8859-1:
with codecs.open('class1.csv', encoding='iso-8859-1') as handle:
reader = csv.reader(handle)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12041 次 |
| 最近记录: |