最近在用Python写入文件的时候,发现之前写入的方法会覆盖掉原excel中的公式,原代码如下
def write_excel_xls(row, col, value):"""excel 写入
:param row:
:param col:
:param value:
:return:""" book_r =xlrd.open_workbook(data_file)
book_w=copy(book_r) # 复制原表格
sheet_1= book_w.get_sheet(0) # 以编辑方式得到文件的第一个工作表
sheet_1.write(row, col, value) # 把内容写入表格
os.remove(data_file) # 删除原文件
book_w.save(data_file) # 保存修改的文件为原文件
找了资料后发现, copy 的时候不会copy excel中的公式
于是尝试用其他的方法进行excel写入,代码如下:
fromopenpyxl import load_workbookfromdata.datapath import file_name
workbook_=load_workbook(file_name)
print(workbook_.sheetnames)
sheetnames=workbook_.sheetnames # 获得表单名字
sheet= workbook_[sheetnames[1]]
# sheet[‘A7‘] = ‘47‘workbook_.save(file_name)
写入的过程有点波折,百度其他的代码如下