Как прочитать символ валюты из файла xlsx в python, используя openpyxl? - PullRequest
0 голосов
/ 15 мая 2019

У меня есть файл .xlsx, который содержит информацию о зарплате международной рабочей силы организации.Я извлекаю некоторые из их деталей.Все идет хорошо, за исключением их окладов.

Значения окладов выглядят следующим образом: £10,000 или €34000 и т. Д. В файле Excel символ был добавлен с помощью параметра Форматировать ячейку.Но мой код читает только действительные числа без символа валюты.

Ниже мой код:

import openpyxl

wb = openpyxl.load_workbook("International_Employees.xlsx")
for ws in wb:
    for row in iter_rows():
        for cell in row:
            if str(cell.value) == 'SALARY':
                salary = "{1}".format(cell.value, cell.offset(0,1).value)
                print(salary)

Вывод просто: 10000 вместо £10,000 или £10000

Как мне сказать программе, чтобы она тоже читала символ, используя openpyxl?

1 Ответ

0 голосов
/ 15 мая 2019

Вы можете использовать свойство number_format, чтобы узнать, вот пример того, как вы могли бы реализовать это:

c = ws['A1']
fmt = c.number_format
print(fmt) # >>> for me: #,##0.00\ "€"

symbol = re.search(r"[€£]", fmt)
if not symbol:
    print("no currency")
else:
    print(f"{c.value} {symbol.group(0)}") # >>> 1000 €

Обновление:

d

Обновление2:

for ws in wb:
    for row in iter_rows():
        for cell in row:
            print(cell.value, cell.number_format)
...