从fi中的数据列表中删除字符

2024-04-26 13:29:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文件,上面有这些数据:

  1. 耶稣·罗德里格斯,5 E 5.2 1.7
  2. 卢卡·佐里奇,21页11.2 4.8
  3. 豪尔赫·坎皮隆,15L 7 3.3

还有更多的数据。。每一行都有一个名字,数字,位置,分数和篮板的比例(“耶稣罗德里格斯”,“5”,“E”,“5.2”,“1.7”)

好的,我的问题是当我从文件中获取数据时,名称用逗号添加到列表中,我不想在其上使用该字符。以下是我目前掌握的代码:

def leeFich(f):
    listaDatos = list()
    d = open(f)
    for lin in d:
        listaDatos.append(lin.strip())
        for i in listaDatos:
            i.replace(',', ' ') // Here is what I have tried to remove the comma
    return(listaDatos)

print(leeFich("ligaBaloncesto.txt"))

而且输出在我刚刚创建的列表的第一项中仍然有逗号

Output:['Jesus Rodriguez, 5 E 5.2 1.7', 'Luka Zorichk, 21 P 11.2 4.8', 'Jorge Campillons, 15 L 7 3.3', '']

Expected Output:['Jesus Rodriguez 5 E 5.2 1.7', 'Luka Zorichk, 21 P 11.2 4.8', 'Jorge Campillons, 15 L 7 3.3', '']


Tags: 数据in列表foroutput逗号linrodriguez
1条回答
网友
1楼 · 发布于 2024-04-26 13:29:31

首先,str.replace不起作用。此外,您可以在剥线时对上面的几行执行更换。其次,对于读取文件对象,最好使用with语句在块的末尾关闭文件,并且不会打开内存泄漏的机会。第三,不必创建列表并在每个循环中调用其上的append属性,您可以使用列表理解简单地创建列表

def leeFich(f):
    with open(f) as d:
        lista_datos = [lin.strip().replace(',', '') for lin in d]
    return list_dataos

相关问题 更多 >