切片从CSV文件导入的列表

时间:2014-02-01 22:22:34

标签: python list python-2.7

我在CSV文件中有156个元素(所有整数)的列表。我正在使用以下代码导入列表:

    with open("rayuela-chapter-list.txt") as f:
        r = csv.reader(f)
        x = [row for row in r]

当我尝试对列表进行切片时,我得到的错误如下:

    x[14]
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    IndexError: list index out of range

当它没有给我一个错误时,它返回整个列表,无论我如何切片。

如果我要导入CSV文件,如何确保我可以对结果列表进行切片?我在代码中缺少什么?

1 个答案:

答案 0 :(得分:0)

如果列表作为一行存储在csv中,那么您只需一次读取整行。基本上,这一行

x = [row for row in r]

将返回

[[1,2,3,4,5,6,7,......]]

如果会有更多行,那么它将是一个列表列表,但在您的情况下,它是一个列表的列表。为了得到你需要的,只需:

x = x[0]