字符串literal str.replace中出现Python错误

2024-10-01 17:23:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用下面两个命令中的任意一个替换列中的string。对于这两个问题,我都遇到了“SyntaxError:EOL whilescanning string literal”错误。请帮忙/指导。谢谢

df['filename'] = df['filename'].str.replace("H:\May2017\hb_ymvid\HB_ED_S\Pictures1\05cropped_PC\","", inplace=True)
df["filename"] = df["filename"].apply(lambda x: x.replace("H:\May2017\hb_ymvid\HB_ED_S\Pictures1\05cropped_PC\", ""))  

Tags: 命令dfstringfilenamereplacepcedhb
2条回答

\表示python中的转义序列,如果您是指文字\,则使用\\,即替换

"H:\May2017\hb_ymvid\HB_ED_S\Pictures1\05cropped_PC\"

使用

"H:\\May2017\\hb_ymvid\\HB_ED_S\\Pictures1\\05cropped_PC\\"

等等

str.replaceregex=False一起使用,因为您不使用正则表达式:

root_dir = 'H:\\May2017\\hb_ymvid\\HB_ED_S\\Pictures1\\05cropped_PC\\'

df['filename'] = df['filename'].str.replace(root_dir, '', regex=False)

输出:

>>> df
      filename
0  image01.png
1  image02.png

我使用了这个示例:

df = pd.DataFrame({'filename': [r"H:\May2017\hb_ymvid\HB_ED_S\Pictures1\05cropped_PC\image01.png",
                                r"H:\May2017\hb_ymvid\HB_ED_S\Pictures1\05cropped_PC\image02.png"]})
print(df)

# Output
                                            filename
0  H:\May2017\hb_ymvid\HB_ED_S\Pictures1\05croppe...
1  H:\May2017\hb_ymvid\HB_ED_S\Pictures1\05croppe...

相关问题 更多 >

    热门问题