Панды пишут многоиндексные столбцы Excel - PullRequest
0 голосов
/ 01 апреля 2019

Мне нужно прочитать сложный Excel с многоиндексными столбцами. Мне нужно сделать некоторую обработку числа и записать файл. Моя главная проблема в том, что панды не получают эту структуру столбцов. Я могу работать над чтением, но файл, который я пишу, выглядит плохо.

enter image description here Это код, который я использую для чтения:

df = pd.read_excel('hed_test.xlsx', 
                   header=[0],
                   index_col=[0,1,2,3],
                   sheet_name="Matrix")
df.head()

                                           t1   Unnamed: 5
        name    Unnamed: 2  Unnamed: 3      
NaN     name           NaN        NaN    480.0  500
        r1              r2       440.0    71.6  98
                                 460.0  -9000.0 77
                                 480.0  -9000.0 -9000

Я пробовал header = [0,1], но получаю ошибку. Закомментируя заголовок, вы получите тот же результат.

индекс и столбцы df:

df.index
MultiIndex(levels=[[], ['name', 'r1'], ['r2'], [440.0, 460.0, 480.0]],
           labels=[[-1, -1, -1, -1], [0, 1, 1, 1], [-1, 0, 0, 0], [-1, 0, 1, 2]],
           names=[None, 'name', 'Unnamed: 2', 'Unnamed: 3'])

df.columns
Index(['t1', 'Unnamed: 5'], dtype='object')

При записи файла, со следующим кодом:

df.to_excel("out.xlsx",
              sheet_name='matrix')

Я получаю следующее превосходство.

enter image description here

Как я могу написать Excel из панд, который будет выглядеть как вход Excel?

...