Невозможно определить EUR в ячейке любого файла .xlsx, используя pandas или openpyxl - PullRequest
0 голосов
/ 22 октября 2018

enter image description here

Я использовал pandas read_excel, и для этих ячеек получил только числовые значения, а не «EUR» (валюта).

Тогда япопробовал использовать openpyxl для чтения значений ячеек и типа я получил "int", а не "str".

Используя редакторы Excel, такие как Libre calc или MS Excel, мы можем конвертировать валюту в желаемый вывод, хотя мне нужнонайти способ обнаружить EUR в качестве валюты и сохранить соответствующее значение в моей БД.

Где я ошибаюсь?Есть ли другой способ, которым я могу это обнаружить?

Я приложил лист Excel здесь .. Ссылка на листы Google ..

1 Ответ

0 голосов
/ 22 октября 2018

Ячейки Excel могут быть настроены на отображение «валюты» самостоятельно.Это всего лишь визуальный элемент, отображающий номера магазинов и метаинформацию формата, которая принадлежит ячейке.Вы не можете извлечь EUR из значения ячеек, но из строки формата.

Вы можете запросить каждую ячейку для ее формата и проанализировать EUR из нее:

from openpyxl import Workbook, load_workbook

wb = load_workbook(r"stack_excel.xlsx")
ws = wb.worksheets[0]

for n in range(1,10):
    _cell = ws.cell(1,n)              # get a cell
    print((1,n), _cell.number_format) # read the number format of this cell

Вывод:

(1, 1) General
(1, 2) General
(1, 3) General
(1, 4) General
(1, 5) General
(1, 6) General
(1, 7) 0
(1, 8) [$EUR]\ 0
(1, 9) [$EUR]\ 0
...