我想用熊猫收集几张桌子。我使用下面的代码:
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
和y.xlsx
个文件。
XLS引擎效果很好(merged_xls.xls
):
但是XLSX引擎(merged_xlsx.xlsx
)出现了错误(单元格合并):
手动单元格取消合并在Excel中可用:
是XLSX pandas引擎(openpyxl)中的错误吗?或者我的代码有什么问题?
版本:python-2.7.10
,pandas-0.17.0
,openpyxl-2.3.0