У меня есть много рабочих таблиц 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
В качестве данных могут использоваться некоторые цифры и буквенно-цифровые входные данные.