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

如何从JIRA导出的XLSB文件中用Pandas提取字段生成字典列表?

解决JIRA导出XLSB文件读取时的KeyError问题

先确认真实列名情况

JIRA导出的xlsb文件经常存在列名带空格、大小写不一致,或者你以为的列名行实际不是有效表头的情况。先打印读取后的列名和前几行数据,定位问题:

import pandas as pd

df = pd.read_excel(imported_file, skiprows=2)
# 打印所有列名
print(df.columns.tolist())
# 查看前5行数据,确认表头行是否正确
print(df.head())

清洗列名(最常见的解决方法)

如果发现列名有前后空格、大小写差异,先统一格式:

# 去除列名前后空格,转小写(也可以转大写)
df.columns = df.columns.str.strip().str.lower()
# 用清洗后的列名提取数据
result = df[['key', 'summary', 'status']].to_dict('records')

如果想保留原大小写,只去空格:

df.columns = df.columns.str.strip()
result = df[['Key', 'Summary', 'Status']].to_dict('records')

调整表头读取位置

有时候JIRA导出的文件前两行之后还有空行,导致列名实际在第4行(索引3),可以直接指定表头行位置:

# 指定第3行(索引2)为表头,同时跳过前2行
df = pd.read_excel(imported_file, header=2)
# 如果列名在第4行,就跳过前3行,指定第0行(当前第一行数据)为表头
df = pd.read_excel(imported_file, skiprows=3, header=0)

用列索引强制提取

如果列名解析完全混乱,直接通过索引定位列:

# 先打印索引和对应列名,确认目标列的位置
for idx, col_name in enumerate(df.columns):
    print(f"索引{idx}: {col_name}")

# 假设Key在索引0,Summary在1,Status在2,重命名后转字典列表
result = df.iloc[:, [0,1,2]] \
          .rename(columns={0:'Key', 1:'Summary', 2:'Status'}) \
          .to_dict('records')

依赖库检查

确保已经安装pyxlsb,pandas读取xlsb格式必须依赖这个库:

pip install pyxlsb

内容的提问来源于stack exchange,提问作者Mr. E

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 19:49:56