user1610719
user1610719

Reputation: 1303

Reading scientific numbers in xlrd

Pretty simple question but haven't been able to find a good answer.

In Excel, I am generating files that need to be automatically read. They are read by an ID number, but the format I get is setting it as text. When using xlrd, I get this format:

5.5112E+12

When I need it in this format:

5511195414392

What is the best way to achieve this? I would like to avoid using xlwt but if it is necessary I could use help on getting started in that process too

Upvotes: 2

Views: 1247

Answers (2)

user1610719
user1610719

Reputation: 1303

I used the CSV module to figure this out, as it read the cells correctly.

Upvotes: 1

ben_frankly
ben_frankly

Reputation: 9950

Give this a shot:

import decimal

decimalNotation = decimal.Decimal(scientificNotationValueFromExcel)

I made the following quick program to test it out. The Excel file it is reading from has a single entry in the first cell.

from xlrd import *
import decimal

workbook = open_workbook('test.xlsx')

sheet = workbook.sheet_by_index(0)

value = sheet.cell_value(0, 0)

print decimal.Decimal(value)

Upvotes: 4

Related Questions