обновить файлы excel в python 2.7

Мне нужно отредактировать файл excel, но без перезаписи старого содержимого. Я использую xlsxwriter для создания файла excel, но у него нет этой опции. Есть ли какое-либо решение?


person ismael bouzoubaa    schedule 18.07.2017    source источник


Ответы (1)


В документации модуля xlsxwriter говорится:

Модуль не может читать или изменять существующие файлы Excel XLSX.

Существуют и другие модули Python, которые позволяют изменять существующие файлы .xlsx. Поскольку вы упомянули, что создали существующую книгу с помощью xlsxwriter, ниже я привел пример, который создает файл с помощью xlsxwriter, а затем повторно открывает, изменяет и сохраняет тот же файл с помощью модуля openpyxl (ссылка на документацию openpyxl).

import xlsxwriter
import openpyxl
from openpyxl import Workbook, worksheet, load_workbook`

workbook = xlsxwriter.Workbook("test.xlsx")
worksheet = workbook.add_worksheet('Sheet')
worksheet.write('A1', 'This cell was written using xlsxwriter')
workbook.close()`

wb = openpyxl.load_workbook("test.xlsx")
ws = wb.active
ws['A2'] = 'This cell was written using openpyxl'`

wb.save("test.xlsx")
person patrickjlong1    schedule 18.07.2017
comment
не могли бы вы рассказать мне эти другие модули Python, пожалуйста? - person ismael bouzoubaa; 28.07.2017
comment
да. openpyxl (тот, что используется в примере), xlrd и xlwt. Я действительно знаком только с openpyxl. Есть хороший вопрос об использовании xlrd для изменения существующих листов по этой [ссылке].(stackoverflow.com/questions/26957831/) - person patrickjlong1; 28.07.2017