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

作者: Neisseria (Neisseria)   2014-06-10 16:10:50
※ 引述《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() 轉換型別
作者: ryoma0915 (芸~)   2014-06-10 16:45:00
if int(float(record(['id'])))==2:print(record['AREA'], record['X']....)但會出現錯誤耶~TypeError: 'DbfRecord' object is not callable如果不能轉換我應該怎麼做會比較好?非常謝謝你~if record['id'] == str(2): 山不轉路轉 這樣就行了謝謝大大啦^^灑花~開心^^

Links booklink

Contact Us: admin [ a t ] ucptt.com