新列Emp_no应该在第一个循环(第一个数据帧)中显示L&D1,在第二个
中显示L&D2(第二个数据帧)xls = pd.ExcelFile('sheet2.xlsx')
i = 1
name = 'L&D'
for x in range(2):
string = name + str(i)
df1 = pd.read_excel(xls, string)
df1 = df1.loc[:, ~df1.columns.str.contains('^Unnamed')]
df1['Emp_No'] = string
df1 = df1.append(df1)
int(i)
i = i + 1
df1
目前所有行的输出都是'Emp_no'列中的L&D2,但它应该显示第一个循环数据为L&D1,第二个循环为L&D2
样品L&D1 &D2(表名)-这是期望的输出=
Name Section MVAL SVAL Emp_No(To be created)
string string int int L&D1 - FROM sheet 1
string string int int L&D1 - FROM sheet 1
string string int int L&D2 - From sheet 2
string string int int L&D2 - From sheet 2
不完全确定我理解这个问题,但如果我没有错,你想从这样的东西走?
dict_1 = {
"names" : "john jane joe jake".split(" "),
"Unnamed_0" : "25 30 32 45".split(),
"pos" : "ceo cfo admin janitor".split(),
"Unnamed_1": "ff oo bb aa".split()
}
df = pd.DataFrame(dict_1)
names Unnamed_0 pos Unnamed_1
0 john 25 ceo ff
1 jane 30 cfo oo
2 joe 32 admin bb
3 jake 45 janitor aa
?
rename_cols = ["L&D"+str(i+1) for i in range(2)]
old_cols = list(df.loc[:, df.columns.str.contains('Unnamed')].columns)
mapper = dict(zip(old_cols, rename_cols))
new_df = df.rename(columns=mapper)
new_df
names L&D1 pos L&D2
0 john 25 ceo ff
1 jane 30 cfo oo
2 joe 32 admin bb
3 jake 45 janitor aa
让我知道。如果没有帮助,更多的信息肯定会有帮助。