我试图从数据库中提取数据并将它们分配给不同的列表.这个特定的错误给了我很多麻烦"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)
任何帮助,将不胜感激 !谢谢大家!
这是我的桌子:
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)
但它似乎不起作用,相反我得到了这个结果 …
#!/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
我在我的应用程序中使用 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) 我出于安全原因将现有的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)