Integers from excel files become floats?

后端 未结 5 674
忘了有多久
忘了有多久 2020-12-01 12:42

I use xlrd to read data from excel files.

For integers stored in the files, let\'s say 63, the xlrd interprets it as 63.

5条回答
  •  长情又很酷
    2020-12-01 13:05

    Excel treats all numbers as floats. In general, it doesn't care whether your_number % 1 == 0.0 is true or not.

    Example: A1 = 63.0, B1 = 63, C1 = INT(A1), A2 = TYPE(A1), B2 = TYPE(B1), C2 = TYPE(C1) You'l see that TYPE() returns 1 in each case.

    From the Excel Help:

    If value is   TYPE returns 
    Number        1 
    Text          2 
    Logical value 4 
    Error value   16 
    Array         64 
    

    xlrd reports what it finds. xlrd doesn't mangle its input before exposing it to you. Converting a column from (62.9, 63.0, 63.1, etc) to (62.9, 63, 63.1, etc) would seem like a pointless waste of CPU time to me.

提交回复
热议问题