导出电脑温度监控数据无通用方案,需依工具而定:HWiNFO64需手动启用日志并启动记录;psutil需自行编码轮询+存储;PowerShell WMI在多数Windows设备上不可用;macOS依赖powermetrics或istats命令重定向,但Apple Silicon读数仅为估算。

直接导出电脑温度监控数据,取决于你用的是哪类工具——硬件监控软件、命令行工具,还是云平台设备。没有统一入口,也没有“一键导出全部”的通用方案;不同工具的数据出口位置、格式支持和权限要求差异很大。
HWiNFO64 导出传感器日志必须手动启用记录
HWiNFO64 默认不保存历史数据,即使开了 Sensors Only 模式,关闭程序后所有读数就丢了。想导出 CSV 或 LOG 文件,得提前配置:
- 启动 HWiNFO64 后,点击右上角齿轮图标 → Settings → 勾选
Log to file - 点开
Log settings→ 设置保存路径、采样间隔(建议 2–5 秒)、文件格式(CSV最通用) - 点击
Start logging才真正开始写入;停止时点Stop logging,否则文件会持续追加 - 导出的 CSV 文件首行为传感器名称(如
CPU Package Temperature),后续是时间戳+数值,可用 Excel 或 pandas 直接读取
常见错误:只点了 Log to file 但没点 Start logging,结果目录里空文件;或采样间隔设成 0.1 秒,日志暴涨且无意义。
psutil 的 sensors_temperatures() 不支持导出,只能自己存
psutil.sensors_temperatures() 是只读接口,返回字典结构的当前快照,没有任何内置导出能力。你要导出,就得自己写逻辑:
- 用
time.time()或datetime.now()打时间戳 - 循环调用
psutil.sensors_temperatures(),提取coretemp下各entry.current值 - 把时间 + 温度拼成列表,用
csv.writer写入文件,或用pandas.DataFrame.to_csv() - 注意 Windows 下需管理员权限运行脚本,否则
psutil.sensors_temperatures()可能返回空字典
别指望 psutil 自动帮你轮询并落盘——它连定时器都不提供,纯属数据搬运工。
PowerShell WMI 方式导出需先确认接口可用
Windows 原生命令 Get-WmiObject -Namespace root/wmi -Class MSAcpi_ThermalZoneTemperature 看似能导出,但实际成功率极低:
- 多数 OEM 主板(尤其轻薄本、品牌台式机)压根没实现 ACPI Thermal Zone 接口,命令直接报错或返回空
- 即使有响应,它只给一个热区温度(
CurrentTemperature),不是 CPU 封装或核心温度,参考价值有限 - 若要导出,得用
Export-Csv包裹,例如:Get-WmiObject ... | ForEach-Object { [PSCustomObject]@{Time=(Get-Date);Temp=($_.CurrentTemperature-2732)/10} } | Export-Csv .\temp.csv -NoTypeInformation - 但更现实的做法是:先运行一次命令看有没有输出,没输出就别浪费时间写导出逻辑了
Mac 上用 powermetrics 或 istats 导出依赖终端重定向
macOS 没有图形化导出按钮,所有数据都得靠命令行重定向到文件:
-
sudo powermetrics --samplers smc -n 100 > temp.log可保存 100 次采样,但输出是混合文本,需grep "CPU Die"过滤 -
istats cpu --csv能直接输出 CSV 格式(含时间戳),比手动解析干净得多,但需先sudo gem install iStats - 如果跑
istats报错SMCReadKey failed,说明系统完整性保护(SIP)阻止了 SMC 访问,重启进恢复模式关 SIP 才能用——这一步很多人卡住 - 导出后的文件默认无表头,用 Excel 打开可能错列,建议加
--csv-header参数(新版 iStats 支持)
真正麻烦的不是怎么导,而是导出来的数据是否可信:SMC 读数在 macOS 14+ 上对 Apple Silicon 芯片已不完全准确,M系列芯片的“CPU Die Temperature”字段实际是估算值,不能当硬件传感器真值用。

















