在SO上浏览了多个问题,但找不到解决我问题的任何现有解决方案。
我想使用pandas和openpyxl写入excel文件中的下一个空列。
我在solution下找到了如何写入下一个空行的方法,但是即使在代码中编辑了起始行之后也无法将其写入下一个空列。
在上一次通话中,我添加了“ startcol = 2”。它显然已添加到C列,但在下一个空行中。我需要它从下一个空列开始,但从最顶部开始,例如C1,D1等
def append_df_to_excel(filename, df, sheet_name='Pandora1', startrow=None,
truncate_sheet=False,
**to_excel_kwargs):
# ignore [engine] parameter if it was passed
if 'engine' in to_excel_kwargs:
to_excel_kwargs.pop('engine')
writer = pd.ExcelWriter(filename, engine='openpyxl')
try:
# try to open an existing workbook
writer.book = load_workbook(filename)
# get the last row in the existing Excel sheet
# if it was not specified explicitly
if startrow is None and sheet_name in writer.book.sheetnames:
startrow = writer.book[sheet_name].max_row
# truncate sheet
if truncate_sheet and sheet_name in writer.book.sheetnames:
# index of [sheet_name] sheet
idx = writer.book.sheetnames.index(sheet_name)
# remove [sheet_name]
writer.book.remove(writer.book.worksheets[idx])
# create an empty sheet [sheet_name] using old index
writer.book.create_sheet(sheet_name, idx)
# copy existing sheets
writer.sheets = {ws.title:ws for ws in writer.book.worksheets}
except FileNotFoundError:
# file does not exist yet, we will create it
pass
if startrow is None:
startrow = 0
# write out the new sheet
df.to_excel(writer, sheet_name, startrow=startrow, **to_excel_kwargs)
# save the workbook
writer.save()
append_df_to_excel("Pandora_Hashtags2.xlsx", df, sheet_name='Pandora1', startrow=None, startcol=2, truncate_sheet=False, engine='openpyxl', index = False)