Как писать/обновлять данные в ячейках существующей рабочей книги 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 или любой другой альтернативы.
Ответы
Ответ 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"
...
и здесь часть с данными, которые вы хотите добавить