提问者:小点点

Python2中的Python3 f字符串替代项


我有这样的python3代码(用F字符串格式化):

folder = r"C:\Users\test"

for _,g in df.groupby(df['ID'].notna().cumsum()):
    g.iloc[:,1:].dropna(how='all').to_csv(f"{folder}\\{g.iloc[0,0]}.txt",index=False)

我试图在Python2.7中格式化它:

Python2.7中的mycode:

folder = r"C:\Users\test"

for _,g in df.groupby(df['ID'].notna().cumsum()):
    g.iloc[:,1:].dropna(how='all').to_csv("{}".format(folder+\\(g.iloc[0,0])+str(".txt")),index=False)    

我得到了以下错误:

我做错了什么? 谢谢你的关注和帮助。


共2个答案

匿名用户

您必须将变量从{}移动到format(),并将rest保持在string中

"{}\\{}.txt".format(folder, g.iloc[0,0]) 

而不是

f"{folder}\\{g.iloc[0,0]}.txt"

您可以在https://pyformat.info/上了解更多信息

匿名用户

这里的双斜杠:用引号表示:

folder+'\\'+(g.iloc[0,0])+str(".txt")),index=False

虽然我更喜欢使用os.sep而不是\\