您好,我目前正在使用 python。我有一个通过查询从数据库中选择数据的文件。但我想选择按时间戳过滤的数据。我可以选择所有数据(使用简单的 select ... from table等)。但是如果我在整个查询中添加 WHERE 查询,程序就会失败。
我希望有人能帮助我。
到目前为止,这是我的代码:
import datetime
import time
import mysql.connector
ts = '2013-10-21 00:00:00'
f = '%Y-%m-%d %H:%M:%S'
now = datetime.datetime.strptime(ts,f)
print (now)
time.strftime('%Y-%m-%d %H:%M:%S')
print (time.strftime)
connection = mysql.connector.connect(user='**', password='**', host='**', database='*dbname*')
cursor = connection.cursor()
str_now = now.date().isoformat()
query = ("SELECT version, protocol, ttl, des_address, des_port, source_address, source_port, timestamp FROM *tablename* **WHERE timestamp = %s", (str_now))**
cursor.execute(query)
for (version, protocol, ttl, des_address, des_port, source_address, source_port, timestamp) in cursor:
print("Version:"+str(version),"Protocol:" + str(protocol),
"TTL:" + str(ttl), "Destination Address:" + str(des_address),
"Destination Port:" + str(des_port), "Source Address:" + str(source_address),
"Source Port:" + str(source_port), "Timestamp:" + str(timestamp))
print (cursor.lastrowid)
如果我运行此代码,我将收到以下错误:“AttributeError: 'tuple' object has no attribute 'encode'”。
当我在谷歌上搜索时,我没有找到一个好的答案。
亲切的问候