我想读取一个excel文件,并使用方法链接,将列名转换为小写,并将任何空格替换为_。以下代码运行正常
def supp_read(number):
filename = f"supplemental-table{number}.xlsx"
df = (pd.read_excel(filename,skiprows=5)
.rename(columns = str.lower))
return df
但是下面的代码没有
def supp_read(number):
filename = f"supplemental-table{number}.xlsx"
df = (pd.read_excel(filename,skiprows=5)
.rename(columns = str.lower)
.rename(columns = str.replace(old=" ",new="_")))
return df
添加str.replace
行之后,出现以下错误:No value for argument 'self' in unbound method call
。有人可以阐明我该怎么做才能解决此错误,以及为什么上述方法不起作用?
此外,当我使用str.lower()
时,也会遇到相同的错误。为什么str.lower
起作用但str.lower()
不起作用?
答案 0 :(得分:1)
这是我经常使用的另一种语法:
def supp_read(number):
filename = f"supplemental-table{number}.xlsx"
df = pd.read_excel(filename,skiprows=5)
df.columns = df.columns.str.lower().replace(" ", "_")
return df