Я предполагаю, что вы не слишком обеспокоены скоростью, поскольку обновления должны происходить в реальном времени и быть видимыми для пользователя. Чтобы достичь этого, я могу использовать apis win32 для com-объектов, доступных в Python для Windows, через пакет win32com
. Чтобы общаться с другими объектами, мы обычно хотим пакет win32com.client
.
Используя это, довольно просто написать в открытую книгу Excel:
import win32com.client as win32
filename = "book.xlsx"
# Get a handle to excel:
excel = win32.gencache.EnsureDispatch('Excel.Application')
# Find open workbook with "filename" (which is the base name only)
wb = excel.Workbooks(filename)
# Set active sheet
ws = wb.Worksheets(1)
# We can access a single cell with "Cells":
ws.Cells(1,1).Value = "A1"
# Or multiple cells with a "Range" (note the strange tuple format of values)
ws.Range("C1:C3").Value =[("C1",), ("C2",), ("C3",)]
Этот пример должен быть довольно простым, чтобы превратиться в нечто, что вы можете использовать, чтобы записать свои pandas
данные в Excel. Однако это потребует от вас «ручного» зацикливания ваших разных ячеек и записи их в документ Excel.