Mar*_*k K 2 python excel dataframe pandas
我正在将 Excel 电子表格合并为 1 个电子表格,并希望在合并时将电子表格的文件名作为第一列插入。
\n\n要合并的Excel文件为:20170801.xlsx、20170901.xlsx、20171001.xlsx
\n\n这是我的代码:
\n\nworking_folder = \'c:\\\\abc\\\\\'\nfiles = os.listdir(working_folder)\n\nfiles_xls = [];\nfor f in files:\n if f.endswith(".xlsx"):\n fff = working_folder + f\n files_xls.append(fff)\n\ndf = pd.DataFrame();\n\nfor f in files_xls:\n data = pd.read_excel(f, skip_footer=0)\n file_date = basename(f).replace(".xlsx", "")\n #data.index = pd.MultiIndex.from_tuples([("", file_date)] * len(data))\n data.index = pd.MultiIndex.from_tuples([(file_date)] * len(data))\n df = df.append(data)\n\ndf.to_excel(working_folder + \'final.xls\', merge_cells = False)\nRun Code Online (Sandbox Code Playgroud)\n\n问题出在data.index = pd.MultiIndex \xe2\x80\xa6 行。
\n\n当我使用时:
\n\ndata.index = pd.MultiIndex.from_tuples([(file_date)] * len(data))\nRun Code Online (Sandbox Code Playgroud)\n\n它会生成这样的电子表格:
\n\n\n\n当我使用时:
\n\ndata.index = pd.MultiIndex.from_tuples([("", file_date)] * len(data))
\n\n它会生成一个外观更好的电子表格,但 A 列为空,如下所示:\n
不使用 MultiIndex,我怎样才能得到像这样的最终电子表格?
\n\n\n\n谢谢。
\n我相信你不需要MultiIndex,只需改变:
data.index = pd.MultiIndex.from_tuples([(file_date)] * len(data))
Run Code Online (Sandbox Code Playgroud)
到:
data.index = [file_date] * len(data)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
851 次 |
| 最近记录: |