红烧胖大海7 2021-04-14 11:14 采纳率: 100%
浏览 247
已采纳

同样一段代码,IDLE可以运行,Pycharm不可以,这是为什么?

import xlrd
dir_case_0='G:\\Users\\Gordon\\Desktop\\图纸.xlsm'
def get_data(dir_case_0, 图纸):
    #如果路径下xlsx文件很多,可以把文件名做一个拼接传入文件名这个参数
    # dir_case = 'F:\\code\\csdn\\cese_excel\\' + filename + '.xlsx'
    '''  
获取其中一张sheet
table = data.sheet_by_name(data.sheet_names()[0])
sheet的行数与列数
table.nrows, table.ncols
    '''
    data = xlrd.open_workbook(dir_case_0)
    table = data.sheets()[0]
    nor = table.nrows
    nol = table.ncols
    dict = {}
    for i in range(1, nor):
        for j in range(nol):
            title = table.cell_value(0, j)
            value = table.cell_value(i, j)
            # print value
            dict[title] = value
        yield dict  
'''        
• yield 是一个类似 return 的关键字,只是这个函数返回的是个生成器
• 当你调用这个函数的时候,函数内部的代码并不立马执行 ,这个函数只是返回一个生成器对象
• 当你使用for进行迭代的时候,函数中的代码才会执行
'''
if __name__ == '__main__':
    for i in get_data(r'G:\Users\Gordon\Desktop\图纸.xlsm','图纸'):
        print (i)

结果如下: 

  • 写回答

4条回答 默认 最新

  • 关注

    应该是解析Excel包不一样把,不支持xlsx格式的文件。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。
  • ¥20 CST怎么把天线放在座椅环境中并仿真
  • ¥15 任务A:大数据平台搭建(容器环境)怎么做呢?
  • ¥15 YOLOv8obb获取边框坐标时报错AttributeError: 'NoneType' object has no attribute 'xywhr'
  • ¥15 r语言神经网络自变量重要性分析
  • ¥15 基于双目测规则物体尺寸
  • ¥15 wegame打不开英雄联盟
  • ¥15 公司的电脑,win10系统自带远程协助,访问家里个人电脑,提示出现内部错误,各种常规的设置都已经尝试,感觉公司对此功能进行了限制(我们是集团公司)