Как средствами питона изменить автора excel файла

Вывожу датафрейм в xlsx файл. Использую для этого библиотеку pyexcelerate. В свойствах файла автором в этом случае всегда становиться PyExcelerate. Можно ли при выводе датафрейма через pyexcelerate задать автора? Или может есть какой-то способ уже после вывода изменить автора файла?


Ответы (1 шт):

Автор решения: Oopss

Лучше воспользоваться другой библиотекой, но если очень нужно, можете поправить файл Путь к проекту\Lib\site-packages\pyexcelerate\templates\docProps\core.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<dc:creator>Автор Я</dc:creator>
<cp:lastModifiedBy>Автор Я</cp:lastModifiedBy>
<dcterms:created xsi:type="dcterms:W3CDTF">{{ date }}</dcterms:created>
<dcterms:modified xsi:type="dcterms:W3CDTF">{{ date }}</dcterms:modified>
</cp:coreProperties>

Свойства файла

Спасибо, работает. Но я так понимаю автор всегда будет "Автор Я", независимо от того кем был создан файл. В xml файле как-то можно поставить какую-нибудь переменную, которая определяла бы имя пользователя?

Зачем изобретать велосипед, если все уже сделали за нас

from openpyxl import Workbook


# Создаем новую книгу
wb = Workbook()

# Указываем автора документа
wb.properties.creator = "Автор Я"
# Если файл отредактирован
wb.properties.lastModifiedBy = "Автор тоже Я"

# Сохраняем книгу
wb.save("test.xlsx")
→ Ссылка