Python中的巨大列表返回无元素

时间:2016-10-26 01:43:40

标签: python list file csv size

我有一个CSV文件,如:

language_id

它完全有4.992.909行。代码是:

134;football
1457;soccer
12;volley
...

当我打印以查看sports_label_list时,它会正常(在偶数处显示数字值,在奇数处显示运动名称),直到列表的30000元素附近。之后,它开始打印“无”。 CSV文件没问题。有什么建议?谢谢!

1 个答案:

答案 0 :(得分:0)

该文件可能有重复的行,设置消除。你为什么把它放在一套?不必使用内存。更好,更快的选择是逐步建立列表:

sports_label_list = []

with open('/Users/someone/Desktop/python/sports.csv', 'r') as file1:   
    for line in file1:
        number, sport = line.strip().split(";")
        sport_label_list.append(number)
        if sport in ("football", "soccer", "baseball", "basketball"):
            sport_label_list.append(sport)
        else:
            sport_label_list.append(None)