Я должен видеть, как файл excel обновляется в реальном времени с моим фреймом данных pandas, который считывается из файла CSV.
Ниже мой файл CSV. И я читаю CSV с помощью панд, но я не знаю, как поместить это в файл Excel.
Заранее спасибо!
Я должен видеть, как файл excel обновляется в реальном времени с моим фреймом данных pandas, который считывается из файла CSV.
Ниже мой файл CSV. И я читаю CSV с помощью панд, но я не знаю, как поместить это в файл Excel.
Заранее спасибо!
Я думаю, вы не можете этого сделать. См., например, это, в котором говорится, что Excel работает с копией документа .
Чтобы записать кадр данных в файл Excel, вы можете использовать метод pandas to_excel()
следующим образом:
your_dataframe.to_excel(output.xlsx')
Хороший модуль для работы с Excel с более подробной информацией — xlwt. Вы можете посмотреть это руководство, в котором объясняется, как его использовать, со множеством примеров. .
Я предполагаю, что вы не слишком заботитесь о скорости, так как обновления должны происходить в реальном времени и быть видимыми для пользователя. Способ, который я могу придумать для достижения этого, заключается в использовании API-интерфейса 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
data в Excel. Однако вам потребуется «вручную» перебрать разные ячейки и записать их в документ Excel.
DF.to_excel("Output_file.xlsx")
- person Anonymous   schedule 03.04.2019