weixin_44954356 2023-01-11 09:51 采纳率: 80%
浏览 29
已结题

pandas读取excel文件时表头有特殊字符使用itertuples迭代发生异常

pandas读取excel文件时表头有特殊字符发生异常

img


原表

img

anno = pd.read_excel(excel_file, header=0, dtype=object)
    clo_name = list(anno)
    for row in anno.itertuples():
        result_dict = {}
        dataJson_dict = {}
        for i in range(len(clo_name)):
            name = clo_name[i]
            if i == 0:
                names = 'serialCode'
                value = getattr(row, '{}'.format(name))
            else:
                names = str(name)
                tmp = getattr(row, '{}'.format(name))
                if '计数' in names:
                    value = int(right_round(tmp, 0))
                else:
                    value = '%.2f' % float(right_round(tmp, 2))

            result_dict[names] = value
            result_dict['type'] = '流式'

        dataJson_dict['dataJson'] = result_dict
        dataJson_dict['fileUrl'] = ['']
        report_list.append(dataJson_dict)

    return report_list
运行结果及详细报错内容

'Pandas' object has no attribute '抑制细胞毒T淋巴细胞穿孔素(CD3CD8Perforin)'
######
我把表中表头的"()"不保留特殊字符就运行正常。

  • 写回答

1条回答 默认 最新

  • weixin_44954356 2023-01-11 10:19
    关注

    使用下方的迭代器迭代
    for idx, row in anno.iterrows():

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 1月19日
  • 已采纳回答 1月11日
  • 创建了问题 1月11日