Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Excel电子表格中循环(使用openpyxl)_Excel_Python 3.x_Pandas_Openpyxl_Pandas Groupby - Fatal编程技术网

在Excel电子表格中循环(使用openpyxl)

在Excel电子表格中循环(使用openpyxl),excel,python-3.x,pandas,openpyxl,pandas-groupby,Excel,Python 3.x,Pandas,Openpyxl,Pandas Groupby,导入openpyxl wb=openpyxl.load_工作簿('Book_1.xlsx') ws=wb['Sheet_1'] 我正在尝试使用openpyxl分析excel电子表格。我的目标是从D列中获得A列中每组数字的最大值。我希望获得一个代码来循环分析。下面是我试图分析的电子表格示例。文件名为Book 1,图纸名为sheet 1。我正在运行Python 3.6.1、pandas 0.20.1和openpyxl 2.4.7。我提供的代码,我到目前为止 假设您有文件test.xlsx和工作表ws

导入openpyxl
wb=openpyxl.load_工作簿('Book_1.xlsx')
ws=wb['Sheet_1']

我正在尝试使用openpyxl分析excel电子表格。我的目标是从D列中获得A列中每组数字的最大值。我希望获得一个代码来循环分析。下面是我试图分析的电子表格示例。文件名为Book 1,图纸名为sheet 1。我正在运行Python 3.6.1、pandas 0.20.1和openpyxl 2.4.7。我提供的代码,我到目前为止


假设您有文件
test.xlsx
和工作表
ws1
。尝试:

from openpyxl import load_workbook
wb = load_workbook(filename='test.xlsx')
ws = wb['ws1']

for col in ws.columns:
    col_max = 0
    for cell in col:
        if cell.value > col_max:
            col_max = cell.value
    print('next max:', col_max)

我正在遍历所有行,因为我不确定您期望的是什么。

IIUC,使用
pandas
模块来实现这一点:

import pandas as pd
df = pd.read_excel('yourfile.xlsx')
maxdf = df.groupby('ID').max()

maxdf将得到您想要的结果。

您必须提供一些您尝试过的代码,并就此提出问题。我运行了您提供的代码;但是,我没有得到所需的最大值。我试图得到1,2,3的最大值。。。在另一个专栏里。然后,由于运行代码,我得到了错误消息。我更新了我的问题,因此觉得可以在此基础上再次提供帮助。我提供的代码的结果也是如此。next max:1 next max:2 next max:3 next max:4 next max:5回溯(最近一次调用):文件“”,第1行,在runfile('C:/Users/hmersiov/untitled1.py',wdir='C:/Users/hmersiov')文件“C:\Users\hmersiov\AppData\Local\Continuum\Anaconda3\lib\site packages\spyder\utils\site\sitecustomize.py”,第880行,在runfile execfile(文件名,命名空间)文件“C:\Users\hmersiov\AppData\Local\Continuum\Anaconda3\lib\site packages\spyder\utils\site\sitecustomize.py”中,第102行,在execfile exec(compile(f.read(),filename,'exec'),命名空间)文件“C:/Users/hmersiov/untitled1.py”中,第21行,在if cell.value>col_max:TypeError:“>”中,在“NoneType”和“int”的实例之间不受支持。您的单元格似乎为空。如何使程序仅显示“id”和一个特定列?当我运行您提供的代码时,“id”数字会在所有列上显示最大值。