обработка Excel с помощью openpyxl

#python #excel #automation #openpyxl

#python #excel #автоматизация #openpyxl

Вопрос:

Я написал этот код, но в строке _ = ws.cell(column == get_column_letter(cll[0][0]), row == (cll[0][1]), value == cll[1]) он возвращает ошибку, которую я не понимаю!

Вот код:

 from openpyxl import Workbook as Wb
from openpyxl.utils import get_column_letter
import dill
def unpickle_exl(file_name, unpkld_file_name):
    """
unpickles a pickled excel file.
for file_name (current file name) suffix the name with .dll
likewise, for unpkld_file_name (file name to be made after unpickling) suffix your name with .xlsx
failiure to do so will result in an error.
please do not leave the second argument empty: please enter '' instead
"""
    if file_name[len(file_name)-4:] != '.dll':
        raise SyntaxError("file_name does not end with suffix .dll")
    if unpkld_file_name != '' and unpkld_file_name[len(unpkld_file_name)-5:] != '.xlsx':
        raise SyntaxError("unpkld_file_name does not end with suffix .xlsx")
    if unpkld_file_name == '':
        unpkld_file_name == unpkld_file_name.replace(".dll", ".xlsx")
    try:
        with open(file_name, 'rb') as d:
            pkld_sprdsht = dill.load(d)
    except OSError:
        raise ReferenceError("File "   str(filename)   "does not exist.")
    print(pkld_sprdsht)
    wb = Wb()
    for obj in pkld_sprdsht:
        ws = wb.create_sheet()
        for sht in obj:
            for cll in sht:
                _ = ws.cell(column == get_column_letter(cll[0][0]), row == (cll[0][1]), value == cll[1])
    wb.save(filename = unpkld_file_name)


def test():
    unpickle_exl('xlsx_to_dll test sprdsht.dll', 'xlsx_to_dll test sprdsht_copy.xlsx')

 

Я пытаюсь сохранить ячейки одну за другой (или, может быть, все сразу), но я не совсем понимаю суть _ = ... .

ПРИМЕЧАНИЕ: Если вам это нужно, я могу добавить код травления, если это поможет.

Комментарии:

1. Особая благодарность @DapperDuck за помощь в моем проекте раньше!

2. Привет, @Leo, к сожалению, я не очень хорошо знаком с pickle, поэтому мне придется просмотреть документацию!

3. Какое исключение возникает? Объекты FWIW openpyxl не предназначены для обработки.

4. @CharlieChark, исключением была ошибка имени: имя ‘столбца’ не определено

5. Также я превратил электронную таблицу Excel во вложенные списки и кортежи, которые вы можете мариновать, поэтому я сомневаюсь, что список не будет маринован (если он не слишком большой)