You can open the file twice,
with data_only and without data_only.
with data_only and without data_only.
#!/usr/bin/python3 import openpyxl as xls # open xls (readonly) wbro = xls.load_workbook(filename="sample.xlsx", data_only=True) wsro = wbro.active # open xls wb = xls.load_workbook(filename="sample.xlsx") ws = wb.active # read data in E2 for filename filename = str(wsro["E2"].value) + ".txt" print(filename) with open(filename) as file: lines = file.readlines() lastline = lines[0].strip() #todo: lastline print(lastline) # replace data value = lastline.split()[1] print(value) ws["G2"] = value wb.save("sample2.xlsx")