小编Har*_*sti的帖子

TypeError:元组索引必须是整数,而不是str

我试图从数据库中提取数据并将它们分配给不同的列表.这个特定的错误给了我很多麻烦"TypeError:元组索引必须是整数,而不是str"我试着将它转换为float等等,但没有成功.

代码如下

conn=MySQLdb.connect(*details*)
cursor=conn.cursor()
ocs={}
oltv={}
query="select pool_number, average_credit_score as waocs, average_original_ltv as waoltv from *tablename* where as_of_date= *date*"
cursor.execute(query)
result=cursor.fetchall()

for row in result:
 print row
 ocs[row["pool_number"]]=int(row["waocs"])
 oltv[row["pool_number"]]=int(row["waoltv"])
Run Code Online (Sandbox Code Playgroud)

print语句的示例输出如下:

('MA3146', 711L, 81L)
('MA3147', 679L, 83L)
('MA3148', 668L, 86L)
Run Code Online (Sandbox Code Playgroud)

这是我得到的确切错误:

ocs[row["pool_number"]]=int(row["waocs"])
TypeError: tuple indices must be integers, not str
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激 !谢谢大家!

python sql database

25
推荐指数
6
解决办法
7万
查看次数

按一列排序,然后按另一列排序

这是我的桌子:

ID UserID Client Time(timestamp)

1  25     Acer   2017-09-13 09:09:13
2  21     Lenovo 2017-09-13 12:09:32
3  20     HP     2017-09-13 14:04:26
4  21     Dell   2017-09-13 17:04:23
5  25     Apple  2017-09-13 17:09:46
.
.
.
Run Code Online (Sandbox Code Playgroud)

我希望结果首先按时间戳排序,获取前 5 条记录,然后按用户 ID 排序,如下所示

ID UserID Client Time(timestamp)
5  25     Apple  2017-09-13 17:09:46
1  25     Acer   2017-09-13 09:09:13
4  21     Dell   2017-09-13 17:04:23
2  21     Lenovo 2017-09-13 12:09:32
3  20     HP     2017-09-13 14:04:26
Run Code Online (Sandbox Code Playgroud)

我尝试了这个查询

select * from table order by time Desc, UserID LIMIT 5;
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用,相反我得到了这个结果 …

mysql

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

如果没有手动给出参数,则继续

#!/usr/bin/python
import sys
import datetime
from datetime import timedelta
import time

date = datetime.datetime.today().weekday()
if date ==5 or date ==6:
 print "Its saturday or sunday: exiting"
 exit()

if sys.argv[0]:  #Going Back one Day
 date = datetime.date.today()
 yday = date-timedelta(days=1)
 mm = date.strftime("%b")
 yyyy= str(yday.year)
 dd =  '%02d' % yday.day

#Arguments If Needed
elif sys.argv[1]:
 dd=sys.argv[1][0:2]
 mm=sys.argv[1][2:5]
 yyyy=sys.argv[1][5:9]


date=dd+"-"+mm+"-"+yyyy
print date
Run Code Online (Sandbox Code Playgroud)

如果没有手动给出系统参数,此代码可以正常工作但是当给出较早日期的参数时,它仍会打印上一个日期.

我无法指出出了什么问题请帮忙谢谢!

如果我运行代码,(python a.py)它打印,06-Dec-2015 但如果我给出一个参数,让我们说(python a.py 01-Dec-2015)它仍然打印06-Dec-2015

python unix

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

pdf.js 下载为 document.pdf 而不是文件名

我在我的应用程序中使用 pdf.js 库。除了当我尝试下载文档时,它集成得非常好。每次我下载特定文件时,它都会下载为 document.pdf

我有很多文件要下载,这造成了一些混乱。

我的代码如下:

<iframe src="pdf_viewer/web/viewer.html?file=/docs/resumes/1b763820-e262-4f76-8502-8872a3cb52e8&filename=sample.pdf"></iframe>
Run Code Online (Sandbox Code Playgroud)

我的第一个参数是文件 ID,第二个参数是下载文档的名称。

下面的代码是 pdf 查看器viewer.js 文件中存在的代码

function getPDFFileNameFromURL(url) {
  var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'document.pdf';
  console.log(url);
  console.log(defaultFilename);

  if (isDataSchema(url)) {
    console.warn('getPDFFileNameFromURL: ' + 'ignoring "data:" URL for performance reasons.');
    return defaultFilename;
  }
  var reURI = /^(?:(?:[^:]+:)?\/\/[^\/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/;
  var reFilename = /[^\/?#=]+\.pdf\b(?!.*\.pdf\b)/i;
  var splitURI = reURI.exec(url);
  var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);
  if (suggestedFilename) {
    suggestedFilename = suggestedFilename[0];
    if (suggestedFilename.indexOf('%') !== -1) {
      try …
Run Code Online (Sandbox Code Playgroud)

javascript pdf string url pdf.js

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

将http转换为在angularjs中发布

我出于安全原因将现有的http.get请求转换为http.post请求.即使我写的代码工作,我不认为它是非常强大的.有没有更好的方法来定义数据对象?

我更喜欢发送字典并在后端阅读它.

示例代码如下.

http.get("/ajax/validate_login.py",{params:{"email":$scope.userEmail,"password":$scope.password}}).then(function(response) {
 console.log(response);
});
Run Code Online (Sandbox Code Playgroud)

转换为

$http({ method: 'POST', url: '/ajax/validate_login.py?',
          data: 'email=' + $scope.userEmail + '&password=' + $scope.password ,
          headers: {'Content-Type': 'application/x-www-form-urlencoded'}
        }).then(function(response) {
console.log(response);
});
Run Code Online (Sandbox Code Playgroud)

是否有更好的方法在post请求中定义数据?

后端代码如下

#!/usr/bin/python
import cgi
import json
import MySQLdb
import MySQLdb.cursors
import hashlib
import sys



form = cgi.FieldStorage()

email=form["email"].value
password = form["password"].value


print "Content-Type: application/json"
print
Run Code Online (Sandbox Code Playgroud)

python post get angularjs

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

标签 统计

python ×3

angularjs ×1

database ×1

get ×1

javascript ×1

mysql ×1

pdf ×1

pdf.js ×1

post ×1

sql ×1

string ×1

unix ×1

url ×1