题目描述
把从txt中提取出来的数据定义成五元组为:(姓名,班别,科目,分数,单位),存成list列表
TXT中的数据:小明:A001班,语文,50分
小红:B002班,数学,100分
小美:A001班,英语,80分
小马:C003班,数学,20分
题目来源及自己的思路
现在已经使用re.split以符号‘,’ ‘:’进行分割,得到了四个元素,但不太清除最后一个XX分该如何分割成 XX 分
有好心的大佬可以顺手指导一下怎么解决输出的信息是unicode码 例:('xefxbbxbfxe5xb0x8fxe6x98x8e', 'A001xe7x8fxad', 'xe8xafxadxe6x96x87', '50xe5x88x86n') 正确应是:(‘小明’, ‘A001班’, ‘语文’, ‘50’, ‘分’)的问题
感激不尽
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
--coding:utf-8--
import refilename = file(r"D:PyCharm01data.txt",'r')content = []for line in filename.readlines():
print line
people = tuple(re.split(r',|:',line,))
content.append(people)
print content
你期待的结果是什么?实际看到的错误信息又是什么?
目前的结果是:print content[0]输出:('xefxbbxbfxe5xb0x8fxe6x98x8e', 'A001xe7x8fxad', 'xe8xafxadxe6x96x87', '50xe5x88x86n')
正确的结果应该是:print content[0]
(‘小明’, ‘A001班’, ‘语文’, ‘50’, ‘分’)
2 回答
![?](http://img1.sycdn.imooc.com/5458655200013d9802200220-100-100.jpg)
噜噜哒
TA贡献1784条经验 获得超7个赞
我用python3 写出来是这样的,加了个encoding=utf-8
import re
content = []
with open('D:PyCharm01data.txt', 'r', encoding='utf-8') as f:
for line in f.readlines():
people = tuple(re.split(r',|:',line,))
content.append(people)
print(content[0])
结果是这样的
("'小红", 'B002班', '数学', "100分'")
添加回答
举报
0/150
提交
取消