设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: mty1111
打印 上一主题 下一主题

【Python 第33课】 处理文件中的数据

[复制链接]

1

主题

0

好友

17

积分

新手上路

Rank: 1

楼主
发表于 2018-4-16 15:53:57 |显示全部楼层
本帖最后由 jzhan030 于 2018-4-16 16:25 编辑

Traceback (most recent call last):
  File "C:/Users/win10/PycharmProjects/python3/read the data.py", line 3, in <module>
    lines = f.readlines()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa4 in position 4: illegal multibyte sequence
先生您好,我的出现了这个问题?是因为scores.txt里面含有中文吗?
编码如下:
f = open('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 = open('result.txt','w')
output.writelines(results)
output.close()
回复

使用道具 举报

1

主题

0

好友

17

积分

新手上路

Rank: 1

沙发
发表于 2018-4-17 09:58:07 |显示全部楼层
crossin先生 发表于 2018-4-16 23:09
应该是的
有中文,而且不是gbk编码

谢谢回复。我稍改了一下。可以识别中文了。但是输出的result.txt里面中文部分还是乱码。请问这个怎么解决。有没有让python3 识别输出中文的解决方法。谢谢!

f = open('scores.txt',encoding='utf8')
#加了encoding=utf8之后可以识别中文了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-4 16:04 , Processed in 0.026330 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部