在合并/合并的Excel文件中添加一个额外的列

时间:2014-08-21 05:09:57

标签: python pandas

我想知道如何在合并/合并的Excel文件中添加额外的列(另请参阅我的previous question)。

Excel文件如下所示:

enter image description here

我拥有的是:

import xlwt
import os
import pandas as pd
from os.path import basename

files = os.listdir('C:\\Kids')

files_xls = []
for f in files:
    if f[-3:] == 'xls':
        fff = 'C:\\Kids\\' + f
        files_xls.append(fff)

df = pd.DataFrame()

for f in files_xls:
    data = pd.read_excel(f
    team_name = basename(f)[0:basename(f).find(' ')-1]
    team_code = basename(f)[basename(f).find(' ')+1 : basename(f).find('.xls')]

    data.index = [team_code] * len(data)   # I can have either ‘team_code’ or
                                           # ‘team_name’ added into the 1st column, 
                                           # but I want them to be added into 2 
                                           # different columns

    df = df.append(data)

df.to_excel("C:\\Kids\\combined2.xls")

因此,只有1列可以添加到我想要的内容中,但是我需要在单独的列中列出'team_name'和'team_code'。像:

enter image description here

我该怎么做?我尝试过类似的东西:

df.insert(0, 'new_col', team_code)

但它不起作用。

1 个答案:

答案 0 :(得分:2)

您必须使用multiIndex。

data.index = pd.MultiIndex.from_tuples([(team_name,team_code)] * len(data))

还要避免team_name单元格合并,您可以使用

df.to_excel("C:\\Kids\\combined2.xls",merge_cells = False)