【发布时间】:2018-05-25 19:28:15
【问题描述】:
我正在将 Excel 电子表格合并为一个电子表格,并希望在合并时将电子表格的文件名作为第一列插入。
要合并的Excel文件有:20170801.xlsx、20170901.xlsx、20171001.xlsx
这是我的代码:
working_folder = 'c:\\abc\\'
files = os.listdir(working_folder)
files_xls = [];
for f in files:
if f.endswith(".xlsx"):
fff = working_folder + f
files_xls.append(fff)
df = pd.DataFrame();
for f in files_xls:
data = pd.read_excel(f, skip_footer=0)
file_date = basename(f).replace(".xlsx", "")
#data.index = pd.MultiIndex.from_tuples([("", file_date)] * len(data))
data.index = pd.MultiIndex.from_tuples([(file_date)] * len(data))
df = df.append(data)
df.to_excel(working_folder + 'final.xls', merge_cells = False)
问题出在 行 data.index = pd.MultiIndex...。
当我使用时:
data.index = pd.MultiIndex.from_tuples([(file_date)] * len(data))
它会生成这样的电子表格:
当我使用时:
data.index = pd.MultiIndex.from_tuples([("", file_date)] * len(data))
不使用 MultiIndex,我怎样才能让最终的电子表格看起来像这样?
谢谢。
【问题讨论】:
-
您认为为什么需要多索引?
-
@cᴏʟᴅsᴘᴇᴇᴅ,感谢您的评论。我知道不需要。但是我不知道用什么...
标签: python excel pandas dataframe