为了账号安全,请及时绑定邮箱和手机立即绑定

Python中如何分割元组中的数字与字符

Python中如何分割元组中的数字与字符

弑天下 2019-02-19 21:32:36
题目描述 把从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 回答

?
噜噜哒

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分'")
查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 1657 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信