Подтвердить что ты не робот

Как писать/обновлять данные в ячейках существующей рабочей книги XLSX с помощью xlsxwriter в python

Я могу записать в новую рабочую книгу xlsx с помощью

import xlsxwriter  
def write_column(csvlist):
    workbook = xlsxwriter.Workbook("filename.xlsx",{'strings_to_numbers': True})
    worksheet = workbook.add_worksheet()
    row = 0
    col = 0
    for i in csvlist:
        worksheet.write(col,row, i)
        col += 1

    workbook.close() 

но не смог найти способ записи в существующей книге. Пожалуйста, помогите мне написать/обновить ячейки в существующей книге с помощью xlswriter или любой другой альтернативы.

4b9b3361

Ответ 1

Цитата из xlsxwriter module документация:

Этот модуль нельзя использовать для изменения или записи в существующий Excel Файл XLSX.

Если вы хотите изменить существующую книгу xlsx, рассмотрите возможность использования openpyxl.

См. также:

Ответ 2

вы можете использовать этот код для открытия файла (test.xlsx) и изменить ячейку A1, а затем сохранить ее с новым именем

import openpyxl
xfile = openpyxl.load_workbook('test.xlsx')

sheet = xfile.get_sheet_by_name('Sheet1')
sheet['A1'] = 'hello world'
xfile.save('text2.xlsx')

Ответ 3

Я обнаружил, что это работает для строк... Я уверен, что есть способ сделать это для столбцов...

import openpyxl

oxl = openpyxl.load_workboo('File Loction Here')
xl = oxl.['SheetName']

x=0
col = "A"
row = x

while (row <= 100):
    y = str(row)
    cell = col + row
    xl[cell] = x
    row = row + 1
    x = x + 1

Ответ 4

Если у вас есть проблема с записью в существующий файл xls, потому что он уже создан, вам нужно поставить контрольную часть, как показано ниже:

PATH='filename.xlsx'
if os.path.isfile(PATH):
    print "File exists and will be overwrite NOW"
else:
    print "The file is missing, new one is created"

... и здесь часть с данными, которые вы хотите добавить