【问题解决】xlwings处理excel复制粘贴时数字自动变成科学计数法

问题: 从一个excel里复制到另一个excel数据后,发现数字自动变成科学计数法,代码如下

import xlwings as xw
app = xw.App(visible=False,add_book=False)
# 打开两个excel文件
book1 = app.books.open("test1.xlsx")
book2 = app.books.open("test2.xlsx")
# 复制到另一个excel
book1.sheets[0]['A2:AA15'].value = book2.sheets[0]['A2:AA15'].value
# 保存文件
book1.save()
book1.close()
app.kill()

解决: test1.xlsx中对应的单元格格式为常规,因此数据复制过去自动变成了科学计数法,因此将单元格格式设置为文本就可以了,修改后代码如下

import xlwings as xw
app = xw.App(visible=False,add_book=False)
# 打开两个excel文件
book1 = app.books.open("test1.xlsx")
book2 = app.books.open("test2.xlsx")
# 将这些单元格都设置为文本格式
book1.sheets[0]['A2:AA15'].api.NumberFormat = "@"
# 复制到另一个excel
book1.sheets[0]['A2:AA15'].value = book2.sheets[0]['A2:AA15'].value
# 保存文件
book1.save()
book1.close()
app.kill()

猜你喜欢

转载自blog.csdn.net/qq_33218097/article/details/129707577