TypeError: string indices must be integers datetime

TypeError: string indices must be integers datetime

我正在尝试转换日期时间,但我不知道如何让我的字符串成为整数。我尝试在 (entry["created_at"] 但不是 luck

之后添加 [0]

代码:

$数据中的项目:

   `$` 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

看起来 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')