【问题标题】:list index out of range CSV for twitter列表索引超出范围的 CSV 推特
【发布时间】:2018-09-14 01:04:23
【问题描述】:

我正在尝试为每条推文创建一个数据结构,但以下代码遇到了问题:

 with open('tweets.csv', 'rb') as csvfile:
        reader = csv.reader('tweets.csv', delimiter=',')
        next(reader)
        for row in reader:

            tweet= dict()
            tweet['ID'] = row[0]
            tweet['Tweet'] = row[1]
            tweet['Tweet cleaned'] = row[2]
            tweet['Ticker'] = row[3]
            tweet['date'] = int(float(row[4]))
            tweet['Return'] = int(float(row[5]))

它在 tweet['Tweet'] = row[1] 行返回错误:列表索引超出范围。

我是 python 新手,在谷歌搜索解决方案后找不到任何有效的方法。谢谢!

【问题讨论】:

  • 这意味着您的 csv 文件中有一行少于两列。
  • @Aran-Fey 我可以在我的代码中以某种方式解释这一点吗?我查看了我的 CSV 文件,但找不到这样的行。谢谢!
  • 你问我是否可以检查列表是否包含超过 1 个元素?是的。是的,你可以。
  • 您还可以将 for 循环中的分配包装在 try-except 块中,专门捕获 IndexError 并在出现 IndexError 时打印行。然后您可以查看导致问题的原因并找到解决方法。

标签: python python-3.x csv twitter tweets


【解决方案1】:
f=open('tweets.csv','r')
reader=csv.reader(f, delimiter=',')
l1=list(reader)
for row in l1:
        tweet=dict()
        tweet['id']=row[0]
        tweet['Tweet']=row[1]
        tweet['tweet cleaned']=row[2]

【讨论】:

    猜你喜欢
    • 2012-10-13
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 2018-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多