0
我有我與sqlite3的閱讀在Python 2.7,使用以下命令數據庫:更改數據類型
# Change to database directory
os.chdir(data)
# Find database file
cur_db = glob.glob('*.db')
# Connect to database
con = sqlite3.connect('database.db')
c = con.cursor()
# Query database
print(len(available_table))
for row in c.execute('SELECT * FROM col1 '):
print row
,給了我這樣的:
(1, u'2.3', u'brown', u'0', u'hairy', u'banana', u'2', u'monkey')
我想查看大於2
的列w /值u'2.3'
中的值。但這是一個unicode字符串而不是數字,因此很難與一個數字進行比較(例如2
)。
理想情況下,我想是這樣的:
# Connect to database
con = sqlite3.connect('database.db')
c = con.cursor()
# Query database
c.execute('SELECT * FROM critter WHERE weight > 2'.
問題:我如何添加一個條件語句,只提取數據行,其中該元素比2
更大?我想保持數據庫不變。
對於我問過的問題,您的解決方案可能會工作(我沒有嘗試它)。我編輯了這個問題,以澄清我真正想問的問題(例如,不使用'for'循環從表格中提取數據。 – AaronJPung
@AaronJPung:啊,我明白了,謝謝澄清,我編輯了我的答案 – bernie
你是如果你的解決方案完美無缺,我從來沒有聽說過/在執行調用中使用'cast'! – AaronJPung