繁体   English   中英

索引超出2D数组的范围?

[英]Index out of bounds for a 2D Array?

我有一个2D列表,我试图检索索引spcified作为参数(类型: IntEnum )。 当我尝试检索除索引0任何列时,我得到index out of bounds错误。

枚举:

class Column(IntEnum):
    ROAD = 0
    SECTION = 1
    FROM = 2
    TO = 3
    TIMESTAMP = 4
    VFLOW=5 

class TrafficData:
    data=[[]]

以下是TrafficData的成员方法

从文件中读取并存储矩阵:

def __init__(self,file):
    self.data=[[word for word in line.split('\t')]for line  in file.readlines()[1:]]

检索所需的列:

def getColumn(self,columnName):
    return [line[columnName] for line in self.data]

致电:)

   column1 = traficdata.getColumn(columnName=Column.ROAD)
  `column2 = traficdata.getColumn(columnName=Column.FROM)`  //error
  `column3 = traficdata.getColumn(columnName=Column.TO)`   //error

我在__init__处理后附上了一张带有数据的图片: 在此输入图像描述

[

我测试了您上面提供的代码,但没有看到任何问题。 这让我相信文件中的数据可能有问题。 你能粘贴文件数据吗? (制表符分隔数据)

更新 - 我发现了问题 - 怀疑是这是一个数据问题(也涉及一些次要的代码更新)。 进行以下更改 -

1)打开文件时使用适当的编码,我使用utf-16。

2)在您共享的数据文件的末尾,它包含文本 - “(72413行受影响)”以及几个新行字符。 因此,您有2个选项,可以手动清理数据文件,也可以更新代码以忽略“(72413行受影响)”和“\\ n”字符。

希望有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM