[英]Remove character from a list made of a data in a file
好吧,我有一个包含此数据的文件:
还有更多数据。每行都有一个名称,数字,它们的位置,得分数和篮板率(“ Jesus Rodriguez”,“ 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"))
并且输出在我刚创建的列表的第一项中仍带有逗号。
输出:['罗德里格斯(Jesus Rodriguez),5 E 5.2 1.7','卢卡·佐里克(Luka Zorichk),21 P 11.2 4.8','豪尔赫·坎皮隆(Jorge Campillons),15 L 7 3.3','']
预期的输出:['Jesus Rodriguez 5 E 5.2 1.7','Luka Zorichk,21 P 11.2 4.8','Jorge Campillons,15 L 7 3.3','']
首先, str.replace
无法就地工作。 此外,您可以在删除行的同时对上述几行进行替换。 其次,对于读取文件对象,最好with
语句一起使用with
语句在块末尾关闭文件,并且不会为您打开内存泄漏的机会。 第三,不用创建列表并在每个循环上调用append
属性,您可以使用列表推导简单地创建列表。
def leeFich(f):
with open(f) as d:
lista_datos = [lin.strip().replace(',', '') for lin in d]
return list_dataos
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.