此文仅作笔记之用
利用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,结果如下:
全部为数字格式。
完美解决!!!