【问题标题】:index out of range concerning CSV readerCSV 阅读器的索引超出范围
【发布时间】:2019-08-22 02:40:39
【问题描述】:

我正在尝试将第二个 1 分隔点存储在 csv UTF-8 文件中。我的逻辑似乎是正确的,但我不断得到一个索引超出范围的错误,我似乎无法推断。这是我的代码: mylist_n = [] 使用 open(r'/home/main/Documents/AMCO/mypythonAMCO/ralco_Info.csv') 作为 csvfile: spamreader = csv.reader(csvfile,delimiter=',', quotechar='|') reader = csv.reader(csvfile)

    for row in spamreader:

        print(', '.join(row))
        mylist_n.append(row[1])

'''


IndexError                                Traceback (most recent call last)
<ipython-input-46-5b4beea38798> in <module>
      6 
      7         print(', '.join(row))
----> 8         print(row[3]) #read the make -- write to list

IndexError: list index out of range

我知道它与行的输出和特定的模块/函数调用有关。这就是我所需要的。我计划获得第 3 位,将其存储在一个列表和其他与品牌/型号相关的相应位置中,并最终制作一个具有相应值的日期字典,以使原本非常长的名称得到浓缩。

sam

【问题讨论】:

  • 索引编号以0开头,因此3表示第4项。
  • 示例输入文件将有助于...
  • 所以我刚刚发现 csv 实际上只有 2 列。现在我猜问题是什么是行?什么类型的函数,它的输入和输出是什么,以及我可以使用哪些函数将 row[1] 转换为要存储在与 csvwriter 一起使用的列表中的数据字符串。

标签: python python-3.x list csv dictionary


【解决方案1】:
with open(r'/home/main/Documents/AMCO/mypythonAMCO/ralco_Info.csv') as csvfile:
    spamreader = csv.reader(csvfile, delimiter=',')
    #reader = csv.reader(csvfile)

    for row in spamreader:
        #print("->".join(csvfile))

        #print(row[1])

    make_n.append(row[1].lower)
    print("appended")
    print(row)
    print("\n")

长话短说,请务必注意 CSV 中的逗号,今晚我将加强我的字符串操作和 json 技能,以便我可以解析列表中的这些单独的字符串,其中包含来自源的逗号数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-11
    • 2012-10-13
    • 1970-01-01
    • 2021-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多