dataframe pandas excel合并标头

问题描述 投票:0回答:1

大熊猫是否可以将两个(或三个...)头行与统一的excel-cell融合为一个?例如表:

| Отчёт по данным                                            | Поступления                  | Заказано                                  |
|-----------------|--------------------|---------------------|--------------|---------------|-----------|-------------------------------|
| Бренд           | Артикул поставщика | Контракт            | шт           | себестоимость | шт        | руб (вознаграждение за товар) |
| Elena Chezelle  | Y0060              | 0400-6752 Агентский | 85           | 245,00        | 226       | 785,00                        |
| Amour Bridal    | ALWE-1199-WHITE    | 0400-6752 Агентский | 47           | 56,00         | 163       | 857,00                        |

进入:

| Бренд          | Артикул поставщика | Контракт            | Поступления  шт | Поступления себестоимость | Заказано шт | Заказано руб (вознаграждение за товар) |
|----------------|--------------------|---------------------|-----------------|---------------------------|-------------|----------------------------------------|
| Elena Chezelle | Y0060              | 0400-6752 Агентский | 85              | 245,00                    | 226         | 785,00                                 |
| Amour Bridal   | ALWE-1199-WHITE    | 0400-6752 Агентский | 47              | 56,00                     | 163         | 857,00                                 |

直到现在使用循环使用代码:

    file = 'static/ExportToEXCELOPENXML - 2020-05-11T180206.635.xlsx'

    df = pd.read_excel(file)

    df_list = []
    for x in df.columns:
        if 'Unnamed' in x or 'Отчёт по данным' in x:
            df_list.append('')
        else:
            df_list.append(x + ' ')

    i = 0
    while i < len(df_list):
        if df_list[i] == '':
            df_list[i] = df_list[i - 1]
        i += 1

    print(df_list)

    df.columns = df_list + df.iloc[0]
    df_new = df.iloc[1:].reset_index(drop=True)
    df_new.to_excel('static/test.xlsx', index=None)

是否有可能只使用熊猫(无周期)?

python excel pandas dataframe margin
1个回答
0
投票

阅读Excel时,您可以给两行添加为标题pd.read_excel('static/ExportToEXCELOPENXML - 2020-05-11T180206.635.xlsx', header=[0,1])

如果要使用分隔符将它们连接在一起,则可以在阅读后进行df.columns = df.columns.map('_'.join)

© www.soinside.com 2019 - 2024. All rights reserved.