尝试了很多方法但是都会成科学记数法,本人想要把身份证号码写入Excel时发现这个问题搞了半天都没有解决
可以使用xlwings的NumberFormat属性来设置单元格格式,将数字格式设置为文本格式,这样就可以避免科学记数法的问题。
示例代码:
import xlwings as xw
# 打开Excel文档
wb = xw.Book('example.xlsx')
# 选择Sheet
sht = wb.sheets['Sheet1']
# 写入身份证号码(文本格式)
sht.range('A1').value = '身份证号码'
sht.range('A2').value = '320483199901011234'
sht.range('A3').value = '320483199901011235'
# 将单元格格式设置为文本格式
sht.range('A2:A3').number_format = '@'
# 关闭Excel文档
wb.close()
在上面的示例代码中,我们先打开Excel文档,选择Sheet1,然后分别写入两个身份证号码。接着,我们将A2:A3单元格的格式设置为文本格式,这样写入的身份证号码就不会被转成科学记数法了。最后,我们关闭Excel文档。
身份证应该定义成text类型,虽然身份证电话这些都是数字,但是不能进行四则运算,其实和一般的文本没有区别