【发布时间】:2021-04-23 02:53:11
【问题描述】:
如果列名包含一个字符串,我正在尝试重命名列,它会创建一个所有列名的列表,如果“日期”在其中一个名称中,那么它会对其进行重命名。一切正常,但重命名部分没有显示错误,但随后我打印列名,原始名称仍在显示:
for f in files_xlsx:
wb = load_workbook(input_path + "\\" + f, read_only=True)
if 'New Leads' in wb.sheetnames:
df = pd.read_excel(input_path + "\\" + f, sheet_name="New Leads")
dtcol = [col for col in df.columns if "Date" in col]
dtcol2 = str(dtcol)
df.rename(columns={dtcol2: "Activity Date"}, inplace=True)
cols = df.columns
if "SOURCE" in cols:
if df.SOURCE.map(lambda x: len(x)).max() == 0:
df['File'] = f
df_xlsx = pd.concat([df, df_xlsx], ignore_index=True)
df_xlsx = df_xlsx[["Email","SOURCE","File"]]
else:
df_ns = df_ns.append([f], ignore_index=True)
else:
df_ns = df_ns.append([f], ignore_index=True)
else:
df_ns = df_ns.append([f], ignore_index=True)
【问题讨论】:
标签: python pandas conditional-statements rename