Обновите значения нескольких книг Excel с помощью openpyxl - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть много рабочих таблиц Excel с множеством одинаковых значений, которые я должен периодически обновлять новыми значениями, поэтому я нашел в Google и нашел Автоматизировать скучный материал.Глава 12. Работа с электронными таблицами Excel .

В моих книгах есть заголовок от 1 до 6 строки с парой изображений, и некоторые ячейки объединены.Я следовал главе 12 и нашел простой скрипт, который должен делать то, что мне нужно, вот что я придумал

import openpyxl
from PIL import *

excelFile = openpyxl.load_workbook('V23 R.0.xlsx')

sheet = excelFile.get_sheet_by_name(u'Caratula')

thickness_update = {'12.7': 12.5,
                    '6.4': 6.35,
                    '7.9': 8.0,
                    '4.8': 4.75}

for rowNum in range(3, 30):
    nominalThickness = sheet.cell(row=rowNum, column=6).value
    if nominalThickness in thickness_update:
        sheet.cell(row=rowNum, column=6).value = thickness_update[nominalThickness]

excelFile.save('V23 R.1.xlsx')

Я знаю, что код в главе 12 был предназначен для замены значений столбца 2основываясь на значениях столбца 1, но я подумал, что мой код должен изменить значения столбца 6 на значения в толщина_update , но он ничего не делает.Столбец 6 имеет одинаковые четыре значения в разных порядках.

Чтобы проверить, правильно ли openpyxl обращался к файлу .xlsx, я сделал

sv = sheet.cell(row=1, column=2).value
print sv

и он вернул Нет .Это случилось с любой ячейкой, о которой я просил.

Как я уже говорил, в заголовке есть два изображения, и я получаю следующее предупреждающее сообщение

/home/gval/.local/lib/python2.7/site-packages/openpyxl/worksheet/header_footer.py:49: UserWarning: Cannot parse header or footer so it will be ignored
  warn("""Cannot parse header or footer so it will be ignored""")
/home/gval/.local/lib/python2.7/site-packages/openpyxl/reader/drawings.py:50: UserWarning: wmf image format is not supported so the image is being dropped
  warn(msg)

РЕДАКТИРОВАТЬ: Так выглядят первые строки

Couple of images in a two merged cells |  Something |  Something 
Something |  Something    | Something  |  Something |  Something
Something in a merged cells            |  Something |  Something

В качестве данных могут использоваться некоторые цифры и буквенно-цифровые входные данные.

...