Как редактировать основные свойства файла .xlsx с помощью Python? - PullRequest
0 голосов
/ 31 августа 2018

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

Мне удалось это сделать с помощью файлов .docx с помощью модуля docx, например:

doc = docx.Document(file)

name = doc.tables[1]._cells[43].text
data = doc.tables[0]._cells[1].text
numbers = re.findall('\d{9}', data)

doc.core_properties.title = numbers[0]
doc.core_properties.category = numbers[1]
doc.core_properties.subject = name

doc.save(file)

Есть ли аналогичный способ сделать это с файлами .xlsx или мне не повезло?

1 Ответ

0 голосов
/ 31 августа 2018

Попробуйте openpyxl модуль для интерактивного получения и установки свойств.

    import openpyxl
    fh = openpyxl.load_workbook("results.xlsx")

    obj = fh.properties   #To get old properties
    print obj   # print old properties

    fh.properties.title = "newTitle"          # To set title
    fh.properties.category = "newCategory"    # To set category
    fh.properties.subject = "newSubject"      # To set subject

    ##similarly you can set other fields ##

    new_obj = fh.properties   #Now get new properties
    print new_obj   # print new properties

    fh.save("results.xlsx")
...