Re: [問題] 如何讀入DBF檔並進行數據分類?已刪文

看板Python作者 (Neisseria)時間11年前 (2014/06/10 16:10), 編輯推噓2(206)
留言8則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《Neisseria (Neisseria)》之銘言: : from dbfpy import dbf : db = dbf.Dbf("data.dbf") : : for record in db: : # 以字典的 key 來取得欄位數值 : print record['A'], record['B'], record['C'], record['D'] : : db.close() : 推 ryoma0915:那要怎麼將資料判斷指向record['B']但輸出是要abcd都要 06/10 14:41 : → ryoma0915:if record['B']==2: print(record['A']....) 06/10 14:46 : → ryoma0915:但這樣並沒有反應... 他完全沒有print 任何的東西 06/10 14:48 因為 record['B'] 的內容物可能不是 integer,而是 string 例如,在終端機輸入 $ python -c 'print 3 == "3"' 輸出 False 因為第一個 3 是 integer,第二個 3 是 string 舉一個不同語言的例子 $ perl -e 'print "Got it\n" if 3 == "3";' 這時候會輸出 Got it 雖然第一個 3 是數字,第二個 3 是字串 但是 Perl 會自動轉換數字和字串 要判斷型別,在 Python 可以用 type() 函數 試著把資料的型別列印出來,然後再看是否用 int() 轉換型別 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.104.122.84 ※ 文章網址: http://www.ptt.cc/bbs/Python/M.1402387854.A.8AF.html

06/10 16:45, , 1F
if int(float(record(['id'])))==2:
06/10 16:45, 1F

06/10 16:45, , 2F
print(record['AREA'], record['X']....)
06/10 16:45, 2F

06/10 16:46, , 3F
但會出現錯誤耶~
06/10 16:46, 3F

06/10 16:46, , 4F
TypeError: 'DbfRecord' object is not callable
06/10 16:46, 4F

06/10 16:47, , 5F
如果不能轉換我應該怎麼做會比較好?
06/10 16:47, 5F

06/10 16:50, , 6F
非常謝謝你~
06/10 16:50, 6F

06/10 19:46, , 7F
if record['id'] == str(2): 山不轉路轉 這樣就行了
06/10 19:46, 7F

06/10 19:47, , 8F
謝謝大大啦^^灑花~開心^^
06/10 19:47, 8F
文章代碼(AID): #1JbhsEYl (Python)
文章代碼(AID): #1JbhsEYl (Python)