我正在将 .csv 文件读取到列表中,它会附加一个空列表,我正在使用下面的代码来执行此操作。
with open('Scores.csv', 'r') as scores:
reader = csv.reader(scores)
tscores = [[str(e) for e in r] for r in reader]
它正确地创建了一个嵌套列表的列表,但在读入的每一行之后附加一个空列表,如下所示:
[[score1, name1], [], [score2, name2], []]
我相信它读取\n
为空字符串,这就是我得到它的原因,所以我尝试使用以下方法删除空列表:
tscores = [tscores.remove(x) for x in tscores if x]
它确实删除了空的嵌套列表,但它将所有其他包含数据的嵌套列表设置为None
ie [None, None]
。我修改为:
tscores = [tscores.remove(x) for x in tscores if []]
这完全消除了所有嵌套列表。
如何在不附加空列表的情况下读取具有相同输出(嵌套列表列表)的文件,或者如何在读入后删除所有空列表?