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

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日

悬赏问题

  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起