看板 Python 關於我們 聯絡資訊
我的資料庫當中有如下資料表 Kind: Link link: http//www.google.com name: Google 皆以字串存入 使用以下程式碼做抓取 readLink = db.GqlQuery("SELECT * FROM Link WHERE name = 'Google'") 不過抓出來的 readLink 為空的... 想請問為什麼會這樣呢? 我把 db.GqlQuery 貼到 Dashboard 當中是可以正確叫出資料表的 另外如果程式碼多一行 link = readLink.link 這樣也會出現錯誤訊息: AttributeError: 'GqlQuery' object has no attribute 'link' 不過我的資料表中不是明明有 link 這個 attribute 嗎... 想請問為什麼會產生以上的問題呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.239.44
BCLin:是不是因為GqlQuery回傳的是list所以要用readlink[0].link? 03/26 22:08
jimmylin212:應該不是,因為官方文件沒有用[0] 來抓資料,如果用會 03/26 22:34
jimmylin212:出現錯誤 IndexError('The query returned fewer than 03/26 22:34
jimmylin212:%d results' % (arg+1)) 03/26 22:35
BCLin:出現IndexError應該是因為傳回來的list是空的,不過我還看 03/26 22:59
BCLin:不出來為什麼抓不到東西回來 03/26 22:59
jimmylin212:嗯,我也很納悶因為kind 裡面明明就有東西.. 03/26 23:17
Falldog:回傳的是GqlQuery的object,必須用for loop或fetch(1)取出 03/26 23:28
jimmylin212:試試看,順便問一下為什麼我的 fetch都一定要兩個參數? 03/26 23:52
jimmylin212:不過我加上了 .fetch(1) 之後收到的是空的 list 03/26 23:58
jimmylin212:使用 for loop 抓到了 感謝 03/27 00:02