@pcdesign

Как определить тип валюты в excel с помощью xlrd?

66b6713ffffa4488884a0ed1126f6752.png

С помощью xlrd
https://github.com/python-excel/xlrd
все отлично парсится.

import xlrd
book = xlrd.open_workbook("myfile.xls")
print("The number of worksheets is {0}".format(book.nsheets))
print("Worksheet name(s): {0}".format(book.sheet_names()))
sh = book.sheet_by_index(0)
print("{0} {1} {2}".format(sh.name, sh.nrows, sh.ncols))
print("Cell D30 is {0}".format(sh.cell_value(rowx=29, colx=3)))
for rx in range(sh.nrows):
    print(sh.row(rx))


Только в ячейках просто тип Number и все. А как определить валюту?
Где рубли? Где доллары и где евро?
  • Вопрос задан
  • 510 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Excel не хранит тип валюты. Это только выбор строки формата
db9c9c8b243f44a9b9138a4655f26227.png

Строку формата можно получить так
from xlrd import open_workbook
wb = open_workbook('test.xls', formatting_info=True)
sheet = wb.sheet_by_index(0)
cell = sheet.cell(0, 0)
xf_index = cell.xf_index
xf = wb.xf_list[xf_index]
format_key = xf.format_key
format = wb.format_map[format_key]
format_str = format.format_str
print(format_str)


Выглядеть она будет, например, так: #,##0.00"р." Как по строке формата определять волюту - это уже отдельный и очень непростой вопрос.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы