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

使用openpyxl打开xlsx文件无输出问题求助(禁用pandas)

解决openpyxl加载无默认样式Excel文件的问题

问题分析

  • 你遇到的警告源于下载的Excel文件缺少默认样式定义,openpyxl会提示需应用其内置默认样式
  • 忽略警告后无输出是因为代码仅完成工作簿加载,未执行任何读取或输出数据的操作

解决方案

1. 消除警告并正确加载工作簿

使用openpyxl.load_workbook的apply_default_style=True参数,主动应用openpyxl默认样式,直接避免警告:

from zipfile import ZipFile
import openpyxl

# 解压压缩包
with ZipFile('HISTDATA_COM_XLSX_EURUSD_M12018.zip', 'r') as zipObj:
    zipObj.extractall()

# 加载工作簿并应用默认样式
ref_workbook = openpyxl.load_workbook('DAT_XLSX_EURUSD_M1_2018.xlsx', apply_default_style=True)

2. 添加数据读取与输出代码

加载工作簿后,需获取工作表并读取数据才能看到输出。示例:读取第一个工作表的表头和前10行数据:

# 获取第一个工作表(active表示默认激活的工作表)
ws = ref_workbook.active

# 输出表头
print("表头内容:")
for cell in ws[1]:
    print(cell.value, end='\t')
print("\n")

# 输出前10行数据(从第2行开始,跳过表头)
print("前10行数据:")
for row in ws.iter_rows(min_row=2, max_row=11, values_only=True):
    print('\t'.join(str(cell) if cell is not None else '' for cell in row))

3. 可选:精准过滤警告(不推荐,优先用方案1)

如果不想应用默认样式,仅需静默该特定警告,可精准过滤而非全局忽略:

from zipfile import ZipFile
import openpyxl
import warnings

# 仅过滤openpyxl的无默认样式警告
warnings.filterwarnings("ignore", category=UserWarning, module="openpyxl")

with ZipFile('HISTDATA_COM_XLSX_EURUSD_M12018.zip', 'r') as zipObj:
    zipObj.extractall()

ref_workbook = openpyxl.load_workbook('DAT_XLSX_EURUSD_M1_2018.xlsx')
# 后续添加数据读取输出代码...

补充说明

从该数据源下载的Excel文件为简化格式,缺少标准样式定义,因此需要通过apply_default_style参数处理;单纯加载工作簿不会产生控制台输出,必须添加数据读取逻辑才能看到内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 09:45:43