此文仅作笔记之用

利用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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐