TypeError:字符串索引必须是整数datetime

时间:2015-09-21 16:05:51

标签: python string integer typeerror

我试图转换日期时间,但我无法弄清楚如何让我的字符串成为整数。我之后尝试添加[0](输入[" created_at"]但不是运气

代码:

$了解数据中的项目:

   `$` convertedTweet = {}

for entry in item:
   convertedTweet["created_at"] = item["created_at"]
   fmt = '%Y-%m-%dT%H:%M:%SZ'
   temp = datetime.strptime(entry['created_at'],'%a %b %d %H:%M:%S +0000 %Y').replace(tzinfo=pytz.UTC)
   print temp.strftime(fmt)

错误:

temp = datetime.strptime(entry['created_at'],'%a %b %d %H:%M:%S +0000 %Y').replace(tzinfo=pytz.UTC)
TypeError: string indices must be integers

1 个答案:

答案 0 :(得分:3)

看起来item是一本字典(正如您所做的那样 - item["created_at"],并且它不会为您带来错误)。

如果是这样,当您循环字典时 -

for entry in item:

entry表示字典中的键,很可能是字符串。因此,当您尝试执行 - entry['created_at']时 - 当您尝试对字符串使用字符串索引时,它会出错,这是不可能的。

看起来你根本不需要循环,你可以直接访问 - item["created_at"] - 来获取日期时间。示例 -

convertedTweet["created_at"] = item["created_at"] 
temp = datetime.strptime(item["created_at"],'%a %b %d %H:%M:%S +0000 %Y').replace(tzinfo=pytz.UTC)
print temp.strftime('%Y-%m-%dT%H:%M:%SZ')