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