此文仅作笔记之用

利用python进行一些数学运算,然后将结果写入excel,发现写入的数字为文本格式,想要在excel中进一步运算,需首先将文本格式转为数字格式,这一步虽然简单,但其他人用的时候可能并不知情,导致后续得不到想要的结果。

以下面代码为例,将一个函数运算后的结果写入excel中

import openpyxl

book = openpyxl.load_workbook(r"C:\Users\FAN\Desktop\20211201.xlsx")
wb = book.active

for i in range(1, 10):
    for j in range(1, 15):
        v = 8 * pow(i, 2) + 10 * pow(j, 3)
        wb.cell(i, j, value="{:.2f}".format(v/1000))

book.save(r"C:\Users\FAN\Desktop\20211201.xlsx")
book.close()

打开excel,发现结果如下:

全部为文本格式,需手动更改为数字格式。

那么,如何在python中直接设置呢?

.datatype = "int"

import openpyxl

book = openpyxl.load_workbook(r"C:\Users\FAN\Desktop\20211201.xlsx")
wb = book.active

for i in range(1, 10):
    for j in range(1, 15):
        v = 8 * pow(i, 2) + 10 * pow(j, 3)
        wb.cell(i, j, value="{:.2f}".format(v/1000)).data_type = "int"

book.save(r"C:\Users\FAN\Desktop\20211201.xlsx")
book.close()

 打开excel,结果如下:

全部为数字格式。

完美解决!!!

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐