浅笑.` 2023-01-03 21:20 采纳率: 43.8%
浏览 34
已结题

关于#python#的问题:openpyxl库 如何读取excel指定的一个工作表下的指定一列的数据并进行大小与的筛选

openpyxl库 如何读取excel指定的一个工作表下的指定一列的数据并进行大小与的筛选

  • 写回答

1条回答 默认 最新

  • starlight_2007 2023-01-03 23:49
    关注

    问题分析
    已知:
    1个指定excel文件(绝对路径储存在变量file_path中),
    1个指定工作表(名称储存在变量sheet_name中),
    1个指定列(名称储存在变量line_name中),

    要求:
    获取file_path文件下sheet_name工作表的line_name列的全部数据,并进行分析。

    要求使用的库:
    openpyxl

    解决方案:

    #第一部分 获取目标数据
    from openpyxl import load_workbook#导入需要的库
    path = input('请输入文件绝对路径:')#获取文件绝对路径
    sheet_name = input('请输入工作表名称:')#获取目标工作表名称
    line_name = input('请输入目标列名称:')#获取目标列名称
    wb = load_workbook(path)#后端打开文件
    sht = wb[sheet_name]#找到目标工作表并储存为变量
    line = sht[line_name]#找到目标列并储存为变量
    vals = [i.value for i in line]#提取目标列的数据
    #第二部分 数据分析
    #......
    

    到了这一步,我们已经成功提取了目标数据,那么数据分析就很简单了。此处不赘述。
    针对上述解决方案,有实例如下:

    img


    如图所示,在命名为test.xlsx的excel文件中,有工作表Sheet1,假设需要提取D列数据(即“仓库库存”),那么可以形成如下程序:

    from openpyxl import load_workbook
    path = r'C:\Users\ABC\Desktop\test.xlsx'
    wb = load_workbook(path)
    sht = wb['Sheet1']
    line_D = sht['D']
    vals = [i.value for i in line_D]
    vals.pop(0)
    print(f'D列中最大的数据是:{max(vals)}')
    

    另外,如果题主实在是看不懂我的文字,可以参考这篇文章:

    这里面记录得较为全面,您可以在里面学到解决这个问题的方法和知识。

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

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月4日
  • 已采纳回答 1月4日
  • 创建了问题 1月3日

悬赏问题

  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改
  • ¥15 Windows 系统cmd后提示“加载用户设置时遇到错误”
  • ¥50 vue router 动态路由问题
  • ¥15 关于#.net#的问题:End Function
  • ¥15 无法import pycausal
  • ¥15 weditor无法连接模拟器Local server not started, start with?
  • ¥20 6-3 String类定义