Запись данных в существующий excel без замены предыдущих данных
В настоящее время я экспортирую два фрейма данных в один файл excel. Каждый фрейм данных размещается на отдельных листах. В настоящее время я запускаю симуляцию, и мне нужно 2000 столбцов каждого фрейма данных (2000 на каждом листе). Каждый раз, когда я запускаю свой код, он создает новый файл excel (то, что я изначально намеревался). Но чтобы сэкономить время, мне было интересно, можно ли записать в существующий файл excel, добавив новые столбцы данных, не записывая поверх существующих данных?
######### This is my original code ################ import pandas as pd from pandas import ExcelWriter from pandas import ExcelFile from pandas import DataFrame from openpyxl import Workbook df1 = pd.DataFrame(returns1) df2 = pd.DataFrame(returns2) x1 = 'mypath/ ' x2 = datetime.datetime.now().strftime('%B %d, %Y %H-%M-%S') x3 = '.xlsx' destination = x1 + x2 + x3 writer = pd.ExcelWriter(destination, engine='xlsxwriter') df1.to_excel(writer, sheet_name= 'Returns 1', index=False) df2.to_excel(writer, sheet_name= 'Returns 2', index=False) writer.save()
Что я уже пробовал:
############ Update ############## Got it to work! This is the final code! Does exactly what I wanted. I hope this will help others who run into the same problem I was having. df1 = pd.DataFrame(returns1) df2 = pd.DataFrame(returns2) book = load_workbook('mypath.xlsx') writer = pd.ExcelWriter('mypath.xlsx', engine='openpyxl') writer.book = book writer.sheets = {ws.title: ws for ws in book.worksheets} df1.to_excel(writer, sheet_name='Returns1', startrow=0, startcol=writer.sheets['Returns1'].max_column, index=False) df2.to_excel(writer, sheet_name='Returns2', startrow=0, startcol=writer.sheets['Returns2'].max_column, index=False) This is what I wanted the code to do... A 100 120 119 225 Second Time A B 100 98 120 100 119 105 125 111 Third Time A B C 100 98 106 120 100 99 119 105 101 125 111 89и так далее...
Richard MacCutchan
Вам нужен метод в библиотеке Excel, который найдет для вас первый пустой столбец. Хотя, глядя на ваши примеры выше, у меня складывается впечатление, что вы пытаетесь добавить строки, а не столбцы.
quinnvdk
Есть ли синтаксис python, который позволяет мне найти следующий пустой столбец? И нет, я ищу колонки. Я просто отредактировал вопрос, чтобы отразить добавление столбцов, мои извинения.