发布网友 发布时间:2022-05-15 15:00
共1个回答
热心网友 时间:2023-10-29 21:16
你这里存在一个误区,只靠xlrd和xlwt不能直接实现对已经存在Excel进行数据插入,原因如下:
1、使用xlrd的xlrd.open_workbook()方法打开文件返回的是一个只读对象,只能读Excel内容,不能向Excel写入数据;
2、使用xlwt的xlwt.Workbook()方法是创建一个空的Excel对象,然后向里面写入;
所以读取和创建Excel都可以直接实现,但是修改已经存在的Excel需要借助xlutils,它的作用是在xlrd类型的workbook和xlwt类型的workbook之间建立了一个管道,利用xlutils的copy方法将只读对象变成可写对象,简单代码实现如下:
import xlrd你自己增加代码判断原Excel某个单元格是否有数据,完善你的代码,避免插入时覆盖了,运行后Excel情况见截图
上述方法我写的是不能“直接”实现已有Excel的数据插入或修改,但是可以间接的来
使用xlrd读原有Excel
使用xlwt创建一个新文件并把1中读取的内容写入
再插入需要增加的数据,保存
删掉原Excel,把新创建的Excel改成原Excel的名字
这种方法你就自己玩,因为原来Excel可能有格式啊,公式啊什么的,新创建就会很麻烦