LOrD_ARaGOrN
LOrD_ARaGOrN

Reputation: 4516

'OrderedDict' object has no attribute 'sort'

I am trying to run sort on the data imported from excel but getting below error. Why after importing into dataframe its saying its ordered dictionary?

-Error:

'OrderedDict' object has no attribute 'sort'

Code:

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

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)])

Upvotes: 1

Views: 1659

Answers (1)

jezrael
jezrael

Reputation: 863176

Because parameter sheet_name=None in read_excel:

sheet_name : string, int, mixed list of strings/ints, or None, default 0
...
None -> All sheets as a dictionary of DataFrames

Also check specifying sheets.

So you need no parameter for return first sheetname:

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

Or specify sheet_name if necessary:

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

Upvotes: 2

Related Questions