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

Lua采集设备温度数据 如何将输出日志导出到Excel文件

Lua温度采集日志导出Excel实现方案

不推荐直接在Lua脚本里生成.xlsx格式文件,这类方案需要引入第三方依赖,在设备端的Lua运行环境里兼容性极差,CSV格式是零成本、兼容性最好的选择,Excel全版本原生支持


方案1:修改脚本直接生成可被Excel识别的CSV文件(推荐,一步到位)

你现有脚本的输出本身就是标准逗号分隔的表格格式,只需要加几行文件写入逻辑,就能在采集完成后直接生成Excel可打开的日志文件,修改后的完整代码如下:

if globalsFile == nil then
dofile("globals.lua")
end

if utilFile == nil then
dofile("util.lua")
end

heaterDuration = 0
heaterInterval = 2
heaterTimeout = 20
index = 1

-- 创建带时间戳的CSV日志文件,避免覆盖历史采集记录
local logFileName = string.format("temp_collect_%s.csv", os.date("%Y%m%d_%H%M%S"))
local logFile = io.open(logFileName, "w")

heater.ON()
print("The heaters have been turned on")
print("Temperatures will be updated below every " .. heaterInterval .. " seconds")
local csvHeader = "Item,Time Point,Top,Bottom,Ambient"
print(csvHeader)
-- 写入表头到日志文件
logFile:write(csvHeader .. "\n")

tempIncrease = 'n'
while (heaterDuration < heaterTimeout) do
topTemp = heater.top()
bottomTemp = heater.bottom()
ambientTemp = temperature.ambient()
local csvLine = string.format("%d,%d,%.4f,%.4f,%.4f", index, heaterDuration, topTemp, bottomTemp, ambientTemp)
print(csvLine)
-- 写入单条采集记录
logFile:write(csvLine .. "\n")
-- 立即刷入磁盘,避免程序意外中断丢失已采集数据
logFile:flush()
heaterDuration = heaterDuration + heaterInterval
os.sleep(heaterInterval * 1000)
end

-- 采集结束关闭文件句柄
logFile:close()
print(string.format("采集完成,日志已保存至当前目录:%s,双击即可用Excel打开", logFileName))

使用说明:

  • 运行修改后的脚本,会在脚本同目录生成temp_collect_采集时间.csv文件,直接双击就会默认用Excel打开,所有数据自动按列对齐
  • 文件名自带时间戳,多次运行脚本不会覆盖之前的采集记录
  • 新增的刷盘逻辑可以避免设备断电、程序崩溃时丢失已采集的数据

方案2:不修改脚本,直接导入现有控制台输出到Excel

如果你不想改动现有采集脚本,已经拿到了控制台打印的日志内容,按以下步骤操作即可:

  • 选中控制台中从表头Item,Time Point,Top,Bottom,Ambient开始到最后一行温度数据的所有内容,复制后粘贴到空白记事本,保存为后缀是.csv的文件
  • 打开Excel,点击顶部菜单栏「数据」-「自文本/CSV」,选中刚才保存的CSV文件,编码选择UTF-8,分隔符勾选「逗号」,点击加载即可自动完成数据分列
  • 如果打开后温度数值显示为科学计数法,导入时将对应列的格式设置为「数值」,保留4位小数即可正常显示

小提示:如果需要做数据筛选、生成温度变化折线图,直接在打开的CSV/Excel文件里操作即可,编辑完成后可以按需另存为.xlsx格式。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 08:09:27