0

Hello to everybody!
I'm new in Python ... and have some problem with reading Excel...
no matter that I've set format in Excel Text (for all my available data) - it get float value from it...
Ok: here is the code:
<code>
import xlrd

book=xlrd.open_workbook("C:/Py/aaa.xls")
sh=book.sheet_by_index(0)

print sh.cell_value(RowN,CellN)

# it prints 1.0
</code>

Can somebody give me good suggestion ?
Thanks
Slava

2
Contributors
3
Replies
5
Views
8 Years
Discussion Span
Last Post by splakhin
0

Hello to everybody!
I'm new in Python ... and have some problem with reading Excel...
no matter that I've set format in Excel Text (for all my available data) - it get float value from it...
Ok: here is the code:

import xlrd

book=xlrd.open_workbook("C:/Py/aaa.xls")
sh=book.sheet_by_index(0)

print sh.cell_value(RowN,CellN)

# it prints     1.0

Can somebody give me good suggestion ?
Thanks
Slava

Forgot to say: it not problem to use int(...), the problem - I really don't know what will be data in excel cel: string either integer or float ....

0

hi,
I think that the float indicates the type of value. If I'm correct 0 is int and 1 is text
Anyway instead of that try this:

row_values(rowx, start_colx=0, end_colx=None)
col_values(colx, start_rowx=0, end_rowx=None)

each of them returns a sequence of values found in the cells belonging to a row/column.
the arguments are in order: (row/col to analyze, start col/row, end col/row) last two arguments are optional
when you have the list you can simply get the value you need from that.
see this

import xlrd
book = xlrd.open_workbook("C:\Python25\Test.xls")
sheet = book.sheet_by_index(0)
column = sheet.col_values(0, start_colx=0, end_colx=None)
row = sheet.col_values(2, start_rowx=0, end_rowx=1)
print column
print row
print column[2]
print row[:]

Let me know if this helps.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.