首页 > 解决方案 > 'OrderedDict' 对象没有属性 'sort'

问题描述

我正在尝试对从 excel 导入的数据进行排序,但出现以下错误。为什么在导入数据框后说它的有序字典?

-错误:

'OrderedDict' object has no attribute 'sort'

代码:

import pandas as pd
dfs = pd.read_excel("data.xlsx", sheet_name=None)
dfs
data_df = (dfs.sort(['Date','Tank','Time']).groupby(['Date','Tank']))
data_df

东风:

OrderedDict([(u'Sheet1',
                       Date      Time  Tank  Sales  Quantity  Delivery
              0  2018-01-01  06:30:00     1    100      3444         0
              1  2018-01-01  07:00:00     1    200      3144         0
              2  2018-01-01  05:30:00     1    100      2900         0
              3  2018-01-01  07:30:00     1    200      2800         0
              4  2018-01-01  06:30:00     2     50      3000         0
              5  2018-01-01  07:00:00     2    100      2950         0
              6  2018-01-01  05:30:00     2    150      2800         0
              7  2018-01-01  07:30:00     2    100      2704         0
              8  2018-01-02  06:30:00     1    100      3444         0
              9  2018-01-02  07:00:00     1    200      3144         0
              10 2018-01-02  05:30:00     1    100      2900        50
              11 2018-01-02  07:30:00     1    200      2800         0
              12 2018-01-02  06:30:00     2     50      3000         0
              13 2018-01-02  07:00:00     2    100      2950         0
              14 2018-01-02  05:30:00     2    150      2800        50
              15 2018-01-02  07:30:00     2    100      2704         0)])

标签: pythonpandas

解决方案


因为参数sheet_name=Noneread_excel

sheet_name:字符串,整数,字符串/整数的混合列表,或无,默认 0
...
->All sheets as a dictionary of DataFrames

还要检查specifying sheets

因此,您不需要返回第一个工作表名称的参数:

df = pd.read_excel("data.xlsx")

sheet_name在必要时指定:

df = pd.read_excel("data.xlsx", sheet_name='Sheet1')

推荐阅读