Вопрос

У меня есть сценарий Python, используя OpeAnpyXL, чтобы прочитать файл Excel.Это раньше работало нормально, пока я не обнаружил, что opternyxl не был установлен правильно, который дал мне ошибки, выполняющие скрипт за пределами моего IDE.После этого, однако, скрипт возвращает числовые значения, которые я не понимаю, откуда они приходят, а не реальные значения.

Сценарий:

wb=load_workbook(r'C:\test.xlsx', use_iterators = True)
ws=wb.get_sheet_by_name('Sheet1')

#Iterate trough all rows
for row in ws.iter_rows(row_offset=1):
    for cell in row:
        #If the column == A, check if there's a website value
        if cell.column == 'A':
            try:
                print cell.internal_value
                self.match = re.match(regex, cell.internal_value)
                if self.match:
                    self.match = 'OK'
            except:
                pass
.

Печать в блоке попробовать, чтобы увидеть, что возвращается программой, которая является следующим для первых пяти записей:

0
1
31
49
143
.

Это должно быть:

None
Website
www.coolblue.nl
www.bol.com
www.elektrosky.nl
.

Почему мой сценарий возвращает эти числовые значения вместо фактических значений?

Редактировать: первые 6 строк моего файла XML (первая строка пуста)

Website           |     Sender    |     Price  |    Mark(s)       |     Payment methods
www.coolblue.nl         PostNL          Free      Thuiswinkel           Ideal, Visa, Mastercard
www.bol.com             PostNL          Free      Thuiswinkel           Ideal, Visa, Mastercard
www.elektrosky.nl       PostNL         € 5,00     Webshop keurmerk      Ideal, Visa, Mastercard, Amex, PayPal
www.belsimpel.nl        PostNL, DPD    € 6,95     Thuiswinkel           Ideal, Visa, Mastercard
.

Это было полезно?

Решение

Проблема в том, что вы используете .internal_value.По умолчанию Excel хранит строки в таблице поиска и сохраняет индекс в ячейке.Вы должны быть в порядке, если вы просто используете .value

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top