2017-01-20 11 views
1

Я написал простую программу для тестирования с openpyxl, где я просто открываю файл .xlsx, вводят данные в определенную ячейку, затем закрываю программу и запускаю ее снова, вводя данные в другую ячейку, но когда я открываю .xlsx после запуска программы для второго.Как остановить openpyxl - python от очистки моего файла excel при каждом повторном запуске программы?

Мое предположение, что openpyxl очищает весь файл .xlsx каждый раз, когда вы его открываете снова, есть ли способ избежать этого?

Вот мой код:

from openpyxl import Workbook 

wb = Workbook() 

dest_filename = 'teste.xlsx' 

ws = wb.active 
ws.title = "2017" 

Row = int(input('row: ')) 
Column = int(input('column: ')) 
data = input('data: ') 

ws.cell(row = Row, column = Column).value = data 

wb.save(filename = dest_filename) 

Вот .xlsx файл после запуска программы в первый раз

Вот это .xlsx файл после запуска программы во второй раз

+0

Это создает новый файл с именем "teste.xlsx" каждый раз. –

ответ

0

Вы не читали файл первенствовать на все:

Используйте это, чтобы прочитать существующую книгу:

from openpyxl import Workbook,load_workbook 
import os 

dest_filename = 'teste.xlsx' 

if os.path.isfile(dest_filename): 
    wb = load_workbook(filename = dest_filename) 
else: 
    wb = Workbook() 

ws = wb.active 
ws.title = "2017" 

Row = int(input('row: ')) 
Column = int(input('column: ')) 
data = input('data: ') 

ws.cell(row = Row, column = Column).value = data 

wb.save(filename = dest_filename) 

Выход:

enter image description here

+0

Это сработало! Спасибо! – Sens

+0

Вы добавили load_workbook в строку импорта 'from openpyxl import Workbook, load_workbook'? –

+0

Извините за редактирование моего первого комментария, но я этого не сделал. – Sens

 Смежные вопросы

  • Нет связанных вопросов^_^