IndexError:列表索引超出范围,但每个字符串都可以打印出来

时间:2016-02-05 18:29:15

标签: python

当我的前两列与fileB相同时,我正在编写一个脚本来汇集来自fileA的行。 fileA是一个txt文件,其中三列用制表符分隔,fileB是一个txt文件,其中两列用制表符分隔。但它一直显示如下错误: “现场= A [0] +” \ T” + A [1] IndexError:列表索引超出范围“ 但我可以打印[0],[1],[2]和网站。

这是我的代码:

{
  "query": {
    "has_parent": {
      "type": "cluster",
      "query": {
        "match_all": {}
      }
    }
  }
}

我将不胜感激任何帮助!

2 个答案:

答案 0 :(得分:2)

我们无法给您一个明确的答案,因为我们无法访问您的数据文件,但您可以通过将有问题的行包装在try/except块中来轻松调试:

try:
    site = a[0]+' '+a[1]
except IndexError:
    print("Error: a is", a)
    raise

最有可能的地方是空行,通常是最后一行。

答案 1 :(得分:0)

我有时会遇到这种情况,大部分时间都是空行。 您可能需要在解析之前进行检查。

if line == "": pass

另一种可能性是缺少数据。

if len(a) != 3: print a