You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用OpenPyXl每日将数据写入Excel表格的最新空白行

用OpenPyXL实现每日数据自动写入Excel最新空白行

我来帮你搞定这个自动填充到最新空白行的问题!核心思路就是先定位到工作表已有数据的最后一行,然后在它的下一行写入新的val1a和t值。下面是具体的实现步骤和代码示例:

关键逻辑说明

  1. 获取最后数据行:OpenPyXL的worksheet.max_row属性会返回当前工作表中包含数据的最后一行编号(比如已经写过A2:B2,这个值就是2)。
  2. 计算新写入行:新的空白行就是max_row + 1,这样每次运行代码都会自动往下顺延一行。
  3. 写入并保存数据:在新行的A列放日期t,B列放美元数值val1a,最后一定要保存工作簿才能生效。

适配你的代码片段

假设你已经完成了val1a和t的获取逻辑,补充后的完整代码应该是这样的:

from openpyxl import load_workbook

# 这里是你已有的数值获取逻辑(示例)
# val1a = 从其他函数拿到的美元数值
# t = date.today()  # 你的日期生成逻辑

# 加载目标Excel文件(替换成你的文件路径)
wb = load_workbook('daily_data.xlsx')
# 获取目标工作表(用active取第一个表,也可以用wb['Sheet1']指定表名)
ws = wb.active

# 计算新数据要写入的行号
new_row_num = ws.max_row + 1

# 在新行写入数据:A列存日期,B列存美元值
ws.cell(row=new_row_num, column=1, value=t)
ws.cell(row=new_row_num, column=2, value=val1a)

# 保存修改,完成更新
wb.save('daily_data.xlsx')

额外细节提示

  • 如果是第一次运行,工作表为空的情况下,ws.max_row会返回1,new_row_num就是2,正好写入A2:B2,完全匹配你最初的需求。
  • 如果你的表格有表头(比如A1是“日期”、B1是“美元金额”),这个逻辑依然适用,因为max_row会自动识别表头后的最后数据行,新数据会自动追加到表头下方。
  • 记得每次操作后调用wb.save(),否则所有修改都不会被保存到本地文件里。

内容的提问来源于stack exchange,提问作者rook21

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:28:53