向合并的Excel文件添加额外列
我想知道怎么在合并的Excel文件中添加一个额外的列(可以参考我之前的问题)。
这些Excel文件的样子是这样的:
我现在有的是:
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’分别列在不同的列里。像这样:
我该怎么做呢?我试过类似这样的:
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)