Как добавить некоторые данные в существующий лист xlsx?
Я хочу сохранить информацию о моей базе данных в файл xlsx. Я создал следующую программу, используя Python.
import xlsxwriter
def create_xlsx_file():
workbook = xlsxwriter.Workbook('/home/script/report.xlsx')
worksheet = workbook.add_worksheet()
data = ['DataBase Name', 'Total Images', 'Gallary Name', 'Subject Name']
r = 0
c = 0
for i in data:
worksheet.set_column(c,c, 20)
bold = workbook.add_format({'bold': True})
worksheet.write(r, c, i)
c = c + 1
workbook.close()
def add_info_into_file(DataBase_Name, Total_Images, Gallary_Name, Subject_Name):
workbook = xlsxwriter.Workbook('/home/script/report.xlsx')
worksheet = workbook.add_worksheet()
data = [DataBase_Name, Total_Images, Gallary_Name, Subject_Name]
r = 2
c = 0
for i in data:
worksheet.set_column(c,c, 20)
bold = workbook.add_format({'bold': True})
worksheet.write(r, c, i)
c = c + 1
workbook.close()
create_xlsx_file()
add_info_into_file("msc", 100, "Mat", "rsp")
В вышеуказанной программе, если я позвоню add_info_into_file()
функция, затем существующие данные усекаются. Итак, как добавить некоторые данные в существующий лист?
Пожалуйста, кто-нибудь, помогите мне. Заранее спасибо.
1 ответ
XlsxWriter
предназначен только для записи файлов. Он не может прочитать или изменить существующий файл Excel.
Ты можешь использовать openpyxl
для добавления файла.
#!/usr/bin/python3
from openpyxl import Workbook
book = Workbook()
sheet = book.active
rows = (
(88, 46, 57),
(89, 38, 12),
(23, 59, 78),
(56, 21, 98),
(24, 18, 43),
(34, 15, 67)
)
for row in rows:
sheet.append(row)
book.save('appending.xlsx')