参考此文章解决了这个bug
来源:

我想使用python中xlwt的包 ,但是我在已经搭好的服务器上使用jupyter,所以我进行下面命令进行安装

pip install --user xlwt

出现
Consider using the --user option or check the permissions.
的bug,经查找,定位原因是没有root权限 不能进行全局安装
加上–user 只安装在自己的环境就ook了

python操作excel保留原格式

第一次尝试

点我

#coding=utf-8
import xlrd,xlwt
from xlutils.copy import copy

#读取文件
read_file = xlrd.open_workbook(file_path,formatting_info=True)
#参数注释:
#file_path:文件路径,包含文件的全名称
#formatting_info=True:保留Excel的原格式

#将文件复制到内存
write_data = copy(read_file)

#读取复制后文件的sheet1
write_save = write_data.get_sheet(0)

#写入数据
write_save.write(x,y,value)
#参数注释:
#x,y:写入目标格的位置坐标
#value:写入数据

#保存写入数据后的文件到原文件路径
write_data.save(self.file_path)

举例
修改前 (修改坐标(1,1))

修改中

修改后


但是还是有个bug,不是我想要的效果,写进的字体是没有保留格式,只是没有修改的地方保留的格式,而且也没有保留背景填充颜色,如下图所示,没有修改的地方

第二次尝试

在write_save.write()里面有style参数,百度了很久,但是没有找到我想要的,直接在jupyter里面

然后再拿参数百度,找到了下面的

style = xlwt.XFStyle() # 初始化样式

font = xlwt.Font() #为样式创建字体

font.name = '微软雅黑'

font.bold = True

style.font = font #为样式设置字体

write_save.write(1, 0, '第三次测试', style) # 使用样式

运行结果

字体变成我想要的“微软雅黑”了,但是被自动加粗了,字号为10号,而且也不是我想要的居中,字体大小是11号。
这说明还是需要继续优化

更多推荐

Consider using the `--user` option or check the permissions.及python操作excel保留原格式