用openpyxl批量写入数据的问题。
诉求:在excel中,A列批量写入19个相同的日期,比如6月12日,B列写入19个不同的部位,比如,1-19个编号。如此循环,每运行一次增加19个日期+1和编号1-19的行理想很丰满,现实很骨感。
import openpyxl
wb=openpyxl.Workbook()
ws=wb.active
i = 0
while i < 20:
ws.cell(”A1“).value = "6月12日"
i += 1
wb.save('5.xlsx')
本人愚笨,截止目前为止,指写出这么点代码,连A列的数据都无法正常写入,
看了很多教程,就是想不通怎么实现的,论坛里单身帮帮忙,指点一二。 问题出在你的代码中,你使用了错误的单元格地址格式。在openpyxl中,单元格的地址应该使用字母和数字的组合,例如"A1"。另外,你的代码中没有处理每次循环中日期和编号的增加。
以下是修改后的代码,可以实现你的需求:
import openpyxl
wb = openpyxl.Workbook()
ws = wb.active
date = "6月12日"
number = 1
for i in range(19):
ws["A{}".format(i+1)].value = date
ws["B{}".format(i+1)].value = number + i
wb.save('5.xlsx')
在修改后的代码中,我们使用了 for 循环来遍历19次,每次循环中,我们通过 format 方法来动态生成正确的单元格地址。同时,我们在每次循环中更新了日期和编号的值,以实现每次循环中的增加。 isdkz 发表于 2023-8-26 00:19
问题出在你的代码中,你使用了错误的单元格地址格式。在openpyxl中,单元格的地址应该使用字母和数字的组合 ...
import openpyxl
wb = openpyxl.Workbook()
ws = wb.active
date = "6月12日"
number = ["6910地库","1235地库","711地库","812地库","1#","2#","3#","4#","5#","6#","7#","8#","9#","10#","11#","12#","13#","14#","15#"]
for i in range(19):
ws["A{}".format(i+1)].value = date
ws["B{}".format(i+1)].value = number
wb.save('8.xlsx')
我把number改成列表,,为什么不能循环吧这个列表里的值写进去呢?
页:
[1]