Python字符串操作生成日期格式如何避免出现转义反斜杠问题
问题原因说明
你看到的反斜杠转义符不是字符串的真实内容,只是Python交互环境(含Jupyter)输出字符串repr()形式时为了标识引号归属添加的显示内容,不会实际存储在字符串中,也不影响后续使用。
验证方法
你可以直接对第一版代码生成的结果调用print(),就能看到符合预期的输出:
year_current = 21 month_1 = "Jan '" month_2 = "Dec '" result = '"' + month_1 + str(year_current) + '":"' +month_2 + str(year_current) + '"' print(result)
输出内容为:
"Jan '21":"Dec '21"
该result变量可以直接传入df.loc使用,无需额外处理。
更简洁的写法(推荐)
使用f-string可以减少字符串拼接的错误:
year_current = 21 result = f'"Jan \'{year_current}":"Dec \'{year_current}"' # 或使用format方法避免转义混淆 result = '"Jan \'{0}":"Dec \'{0}"'.format(year_current)
第二版方案的问题说明
你第二版代码用单引号作为字符串的外层包裹标识,字符串内部又使用了单引号,才会出现语法混淆的问题,只要遵循「外层用双引号、内层用单引号」或者「外层用单引号、内层用转义单引号」的规则即可避免。
内容的提问来源于stack exchange,提问作者RSM
相关产品推荐
相关产品推荐

