Python .split 索引错误

标签 python list python-2.7 date python-2.x

Python 新手。尝试调用 .split 来分隔时间值,以便我可以计算 4 月的所有登录日期:如果我调用 response['data]

,数据如下所示
[{u'email': u'wilderman.nyree@heidenreich.com'}, {u'login_date': u'2014-05-04T04:09:29-07:00', u'email': u'vrippin@gmail.com'}, {u'login_date': u'2014-04-13T20:37:31-04:00', u'email': u'eileen.gusikowski@oreilly.info'}, {u'login_date': u'2014-05-11T15:34:17-04:00', u'email': u'cstehr@keebler.com'}, {u'login_date': u'2014-04-13T17:12:20-04:00', u'email': u'onolan@gmail.com'}, {u'login_date': u'2014-04-01T02:22:55+05:00', u'email': u'ygoyette@yahoo.com'}, {u'login_date': u'2014-04-22T21:04:03+04:00', u'email': u'vblanda@gmail.com'}, {u'login_date': u'2014-05-08T22:30:57-04:00', u'email': u' ybartoletti@littel.biz'}, {u'login_date': u'2014-04-25T13:27:48-08:00', u'email': u'woodie.crooks@kozey.com'}, {u'login_date': u'2014-04-14T02:18:48-07:00', u'email': u'emilia16@block.com'}, {u'login_date': u'2014-04-20T11:02:21-10:00', u'email': u'bahringer.karl@yahoo.com'}, {u'login_date': u'2014-04-27T11:08:50+10:00', u'email': u'morissette.lalla@kuhicmuller.com'}]

等等......当我运行这段代码时:

 loggedList = [user['login_date'] for user in response['data']]
 for login in loggedList:
    if login is not None:
     aprilList.append('-' + login.split('-')[0])


 # print aprilList
 print response['data']

我在控制台中得到了这个打印输出:

u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014', u'-2014']

但是当我尝试通过将 login.split('-')[0]) 更改为 login.split('-') 来访问 .split 列表的第二部分时[1]) 我收到 IndexError 列表超出范围。

如何访问登录日期的月份部分?我想我很接近,它用 .split 方法隐藏在某个地方。

最佳答案

如果您查看 login.split('-')[0]) 的输出,您会注意到一个是 u'-',

这可能意味着您的一个数据条目的登录日期为空,因此 login.split 给出的数组中只有空字符串。这有 1 个元素,所以第二个索引越界

要么确保所有数据的格式正确且完整,要么仅在 login.split 的结果足够长时才尝试打印月份

关于Python .split 索引错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35210743/

相关文章:

python - 使用subprocess.run如何将每个循环的数据保存在不同的文件中?

list - 在 Scala 中检查 future 列表的大小

Python 不同长度、平均值和标准差的多个列表

python - 字典中两个列表结果的比较具有重复的项目

python - 以 Django 形式保存用户密码的散列版本不起作用

python - 我可以做一个 django 获取最新版本 ==

c# - 使用 Lambda 获取不同的父项

python - 如何防止在 urlopen 上永远阻塞

python - 无法在 python 中导入 tensorfflow

python - Django 模型字段如何与多个模型相关?