Pandas导出到Excel(xls,xlsx),具有多级列

时间:2015-10-22 06:34:40

标签: python pandas

我想用熊猫收集几张桌子。我使用下面的代码:

import pandas as pd
import itertools
import types

df = None
for frame in ['x', 'y']:
    df_ = pd.read_excel(u'%s.xlsx' % frame)
    df_ = df_.set_index([u'time'])

    parameters = list(df_.columns)
    tuples = []
    for tup in itertools.product([frame,], parameters):
        tuples.append(tup)

    columns = pd.MultiIndex.from_tuples(tuples, names=[u'Frames',u'Parameters'])

    df_new = pd.DataFrame(columns=columns, index=df_.index)
    for par in parameters:
        df_new[frame, par] = df_[par]
    del df_

    if df is None:
        df = df_new
    else:
        df = pd.concat([df, df_new], axis=1)

df.to_excel('merged_xlsx.xlsx')
df.to_excel('merged_xls.xls')

源数据为x.xlsx

x.xlsx

y.xlsx个文件。

y.xlsx

XLS引擎效果很好(merged_xls.xls):

merged_xls.xls

但是XLSX引擎(merged_xlsx.xlsx)出现了错误(单元格合并):

merged_xlsx.xlsx

手动单元格取消合并在Excel中可用:

merged_xlsx_unmerged.xlsx

是XLSX pandas引擎(openpyxl)中的错误吗?或者我的代码有什么问题?

版本:python-2.7.10pandas-0.17.0openpyxl-2.3.0

0 个答案:

没有答案