使用python的xlutils.copy模块,进行文件数据写入,保存之后打不开
Excel文件后缀是xlsx,进行操作之后,打不开文件;(解决:把后缀xlsx改成xls就可以打开;或者文件一开始的后缀就是xls)
import xlrd from xlutils.copy import copy file = 'D:/hunter_/demo3.xlsx' # 文件路径 data = xlrd.open_workbook(file) # 定义一个excel文件的workbook对象 print('data的类型为:', type(data)) data_copy = copy(data) # 获取data的copy对象 print('data的copy对象类型为:', type(data_copy)) sheet_copy = data_copy.get_sheet(0) # 从data_copy对象中获取第一个sheet对象 sheet_copy.write(2, 11, '测试写入内容') # 向sheet的某个单元格写入值 data_copy.save('demo3.xlsx') # 写入完成后保存data的copy对象
改成xls文件能正常打开
注意:
xlrd模块0.8版本后不支持以xlsx为后缀名文件,所以使用这个方法的时候,excel要用xls格式的,不然会导致保存的文件无法打开
xlutils最新的2.0版本只能支持copy xls格式的excel文件,如果copy的是xlsx再保存,那么新生成的文件将无法打开。