Below I've provided a fully reproducible example of how you can go about modifying an existing .xlsx workbook using pandas and the openpyxl module (link to Openpyxl Docs).
First, for demonstration purposes, I create a workbook called test.xlsx:
from openpyxl import load_workbook
import pandas as pd
writer = pd.ExcelWriter('test.xlsx', engine='openpyxl')
wb = writer.book
df = pd.DataFrame({'Col_A': [1,2,3,4],
'Col_B': [5,6,7,8],
'Col_C': [0,0,0,0],
'Col_D': [13,14,15,16]})
df.to_excel(writer, index=False)
wb.save('test.xlsx')
This is the Expected output at this point:

In this second part, we load the existing workbook ('test.xlsx') and modify the third column with different data.
from openpyxl import load_workbook
import pandas as pd
df_new = pd.DataFrame({'Col_C': [9, 10, 11, 12]})
wb = load_workbook('test.xlsx')
ws = wb['Sheet1']
for index, row in df_new.iterrows():
cell = 'C%d' % (index + 2)
ws[cell] = row[0]
wb.save('test.xlsx')
This is the Expected output at the end:

Below I've provided a fully reproducible example of how you can go about modifying an existing .xlsx workbook using pandas and the openpyxl module (link to Openpyxl Docs).
First, for demonstration purposes, I create a workbook called test.xlsx:
from openpyxl import load_workbook
import pandas as pd
writer = pd.ExcelWriter('test.xlsx', engine='openpyxl')
wb = writer.book
df = pd.DataFrame({'Col_A': [1,2,3,4],
'Col_B': [5,6,7,8],
'Col_C': [0,0,0,0],
'Col_D': [13,14,15,16]})
df.to_excel(writer, index=False)
wb.save('test.xlsx')
This is the Expected output at this point:

In this second part, we load the existing workbook ('test.xlsx') and modify the third column with different data.
from openpyxl import load_workbook
import pandas as pd
df_new = pd.DataFrame({'Col_C': [9, 10, 11, 12]})
wb = load_workbook('test.xlsx')
ws = wb['Sheet1']
for index, row in df_new.iterrows():
cell = 'C%d' % (index + 2)
ws[cell] = row[0]
wb.save('test.xlsx')
This is the Expected output at the end:

In my opinion, the easiest solution is to read the excel as a panda's dataframe, and modify it and write out as an excel. So for example:
Comments:
Import pandas as pd. Read the excel sheet into pandas data-frame called. Take your data, which could be in a list format, and assign it to the column you want. (just make sure the lengths are the same). Save your data-frame as an excel, either override the old excel or create a new one.
Code:
import pandas as pd
ExcelDataInPandasDataFrame = pd.read_excel("./YourExcel.xlsx")
YourDataInAList = [12.34,17.56,12.45]
ExcelDataInPandasDataFrame ["Col_C"] = YourDataInAList
ExcelDataInPandasDataFrame .to_excel("./YourNewExcel.xlsx",index=False)
python - Write an array in specific column by Pandas to_excel - Stack Overflow
excel - Write values to a particular cell in a sheet in pandas in python - Stack Overflow
python - How to write specific columns to from dataframe to excel? - Stack Overflow
python 3.x - How to write to a specific cell in excel using Pandas? - Stack Overflow
May I know how to write the sample code format for this question.?.
UPDATE2: appending data to existing Excel sheet, preserving other (old) sheets:
import pandas as pd
from openpyxl import load_workbook
fn = r'C:\Temp\.data\doc.xlsx'
df = pd.read_excel(fn, header=None)
df2 = pd.DataFrame({'Data': [13, 24, 35, 46]})
writer = pd.ExcelWriter(fn, engine='openpyxl')
book = load_workbook(fn)
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
df.to_excel(writer, sheet_name='Sheet1', header=None, index=False)
df2.to_excel(writer, sheet_name='Sheet1', header=None, index=False,
startcol=7,startrow=6)
writer.save()
UPDATE: your Excel file doesn't have a header, so you should process it accordingly:
In [57]: df = pd.read_excel(fn, header=None)
In [58]: df
Out[58]:
0 1
0 abc def
1 ghi lmn
In [59]: df2
Out[59]:
Data
0 13
1 24
2 35
3 46
In [60]: writer = pd.ExcelWriter(fn)
In [61]: df.to_excel(writer, header=None, index=False)
In [62]: df2.to_excel(writer, startcol=7,startrow=6, header=None, index=False)
In [63]: writer.save()

OLD answer:
You can use the following trick:
first read the existing contents of the excel file into a new DF:
In [17]: fn = r'C:\Temp\b.xlsx'
In [18]: df = pd.read_excel(fn)
In [19]: df
Out[19]:
A B C D
0 val1 NaN val3 val4
1 val11 val22 NaN val33
now we can write it back and append a new DF2:
In [20]: writer = pd.ExcelWriter(fn)
In [21]: df.to_excel(writer, index=False)
In [22]: df2.to_excel(writer, startcol=7,startrow=6, header=None)
In [23]: writer.save()

I was not able to do what was asked by me in the question by using pandas, but was able to solve it by using Openpyxl.
I will write few code snippets which would help in achieving what was asked.
import openpyxl
# to open the excel sheet and if it has macros
srcfile = openpyxl.load_workbook('docname.xlsx', read_only=False, keep_vba=True)
# get sheetname from the file
sheetname = srcfile.get_sheet_by_name('sheetname')
# write something in B2 cell of the supplied sheet
sheetname['B2'] = str('write something')
# write to row 1,col 1 explicitly, this type of writing is useful to
# write something in loops
sheetname.cell(row=1, column=1).value = 'something'
# save it as a new file, the original file is untouched and here I am saving
# it as xlsm(m here denotes macros).
srcfile.save('newfile.xlsm')
So Openpyxl writes to a purticular cell, without touching the other sheets,cells etc. It basically writes to a new file respecting the properties of the original file.
Say for example, you have dataframe with 3 columns whose column names are "animals","column_1", "column_2". If you need only column_1 and column_2 to be exported as xlsx file, you can do as shown below,
df = pd.DataFrame(data=[['dog','a','b'],['cat','b','c'],['dog','c','a']],columns=(['animal','column1','column2']))
df[['column1','column2']].to_excel('"output.xlsx"')
You can use the "to_excel" function from pandas.
Given your dataframe "dt1":
dt1.to_excel("ExcelFile.xlsx",columns=['col1', 'col3'], sheet_name = "NewSheet1")
If you have a existing excel file you can add those columns to a new sheet with an ExcelWriter:
with pd.ExcelWriter('ExcelFile.xlsx', mode = 'a') as excel_writer:
dt1.to_excel(excel_writer, columns=['col1', 'col3'], sheet_name = "NewSheet1")
There is more examples at the pandas documentation
I pulled this from my script and edited in your keywords. This works for me. I use openpyxl.
from openpyxl import load_workbook
wb = load_workbook("P:\TestResultSheet.xlsx")
ws = wb["TestResult"]
ws.write('C2', result_df.query("Jira_Num == 'XXXX-01' ")["TestQuery"])
workbook.close()
@ jpf5046 thanks for all help. I tried below code after taking reference from other similar issue found on stackoverflow and worked fine. Below code write to specific sheet without removing the existing sheets and formatting in same workbook.
code:
from openpyxl import load_workbook
result_df.loc[sqlRun.index, "ActualResult"] = 110,000
result_df1 = result_df.set_index('Test_Id')
workBook = load_workbook('P:\TestResultSheet.xlsx')
writer = pandas.ExcelWriter('P:\TestResultSheet.xlsx', engine = 'openpyxl')
writer.book = workBook
writer.sheets = dict((ws.title, ws) for ws in workBook.worksheets)
result_df1.to_excel(writer, 'TestResult')
writer.save()