向合并的Excel文件添加额外列

0 投票
1 回答
1172 浏览
提问于 2025-04-18 18:01

我想知道怎么在合并的Excel文件中添加一个额外的列(可以参考我之前的问题)。

这些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")

结果是,我只能添加一个列,但我需要把‘team_name’和‘team_code’分别列在不同的列里。像这样:

enter image description here

我该怎么做呢?我试过类似这样的:

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

但是没有成功。

1 个回答

3

你需要使用多重索引。

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

另外,为了避免团队名称的单元格合并,你可以使用

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

撰写回答