[英]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
[
我测试了您上面提供的代码,但没有看到任何问题。 这让我相信文件中的数据可能有问题。 你能粘贴文件数据吗? (制表符分隔数据)
更新 - 我发现了问题 - 怀疑是这是一个数据问题(也涉及一些次要的代码更新)。 进行以下更改 -
1)打开文件时使用适当的编码,我使用utf-16。
2)在您共享的数据文件的末尾,它包含文本 - “(72413行受影响)”以及几个新行字符。 因此,您有2个选项,可以手动清理数据文件,也可以更新代码以忽略“(72413行受影响)”和“\\ n”字符。
希望有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.