小编Wes*_*Wes的帖子

在python中,对日期字段进行排序,字段有时可能为null

我很难想出一个灵巧的方法来处理这种情况.我从数据库读回来的数据.我想对accoutingdate进行评论.但是,accoutingdate有时可能为空.我目前正在做以下事情:

results = sorted(results, key=operator.itemgetter('accountingdate'), reverse=True)
Run Code Online (Sandbox Code Playgroud)

但是,由于一些accoutingdates为null,这种炸弹的"TypeError:无法将datetime.date与NoneType进行比较".

什么是"最正确"或"最恐怖"的方式来处理这个问题?

python sorting

22
推荐指数
2
解决办法
9238
查看次数

将YYYYMMDD/HHMMSS格式的日期/时间转换为Python日期时间

我有一个YYYYMMDD格式的日期和一个HHMMSS格式的时间作为列表中第4和第5个元素的字符串.IE:

data[4] = '20100304'
data[5] = '082835'
Run Code Online (Sandbox Code Playgroud)

我正在创建一个datetime实例(在名为generate的字段中),如下所示:

generatedtime = datetime.datetime(int(data[4][:4]),int(data[4][4:6]),int(data[4][6:]),int(data[5][:2]),int(data[5][2:4]),int(data[5][4:6]))
Run Code Online (Sandbox Code Playgroud)

鉴于输入格式无法更改,是否有更简洁的方法来创建我的datetime对象实例?

python datetime

18
推荐指数
2
解决办法
5万
查看次数

Google Analytics报告了大量的Internet Explorer 7流量

对于我们的网站,Google Analytics报告了过多的Internet Explorer 7用户(40%).随着我们进一步深入研究数据,我们发现大多数这些IE7点击来自Windows 7这样的新操作系统,其中IE7从未成为默认安装的浏览器.我们实际上有很多(或任何)用户在Windows 7中使用IE7访问我们的网站似乎不合理.

为什么我们的Internet Explorer 7号码如此夸大,如Google Analytics报告的那样?

internet-explorer google-analytics

17
推荐指数
1
解决办法
6563
查看次数

MySQL密码功能

使用MySQL的密码函数来散列应用程序使用的密码是否被视为好或坏的做法?我可以看到利弊.我很好奇是否对它的好坏有一个普遍的共识.

mysql passwords

16
推荐指数
3
解决办法
2万
查看次数

排序一组dicts

我是Python的新手,如果我正确地做这件事,我很好奇.我有一个dicts元组(来自数据库调用):

companies = ( { 'companyid': 1, 'companyname': 'Company C' },
              { 'companyid': 2, 'companyname': 'Company A' },
              { 'companyid': 3, 'companyname': 'Company B' } )
Run Code Online (Sandbox Code Playgroud)

我想在公司名称上对此进行排序.有没有比这更正确的方法呢?

sortcompanies = list(companies)
sortcompanies.sort(lambda x,y: cmp(x['companyname'],y['companyname']))
Run Code Online (Sandbox Code Playgroud)

谢谢你的批评!

python sorting

3
推荐指数
1
解决办法
175
查看次数

python基本while循环

我有另一个新手Python问题.我有以下一段代码,我有一种感觉,不是应该是pythonic写的:

    rowindex = 0
    while params.getfirst('myfield'+rowindex):
        myid = params.getfirst('myfield'+rowindex)
        # do stuff with myid
        rowindex+=1
Run Code Online (Sandbox Code Playgroud)

此脚本的输入是一个HTML页面,可以包含任意数量的名为"myfield#"的输入字段,其中#从0开始并按顺序增加.在Perl中,我会做更像这样的事情:

    rowindex = 0
    while myid =  params.getfirst('myfield'+rowindex):
        #do stuff with myid
        rowindex+=1
Run Code Online (Sandbox Code Playgroud)

但这不是Python中的有效语法.我知道我的工作会有什么用,但是有更好的方法吗?谢谢.

python while-loop

1
推荐指数
1
解决办法
496
查看次数