我在Windows和Mac的Jinja模板字符串中处理\ newline的行为之间存在莫名其妙的差异。
我有一个字符串C #1 #2 #3 #4 #5
dimensionsType arg: [UNSD]
dimensionsType arg: [WB]
dimension.agencyId [FREQ] - [WB] - [WB] - [42] - [Str]
dimension.agencyId [SERIES] - [WB] - [WB] - [42] - [Str]
dimension.agencyId [REF_AREA] - [WB] - [WB] - [42] - [Str]
dimension.agencyId [FREQ111] - [UNSD] - [WB] - [42] - [Str]
,位于数据帧内。当我在Mac上使用pandas to_latex()时,它将转换为mystring = '123 \\newline 456'
。但是在Windows上,它会转换为123 \textbackslashnewline
两者之间的区别使变通方法变复杂,即用空字符串替换123 \textbackslash newline
。在Windows版本上,我需要包含空格,在Mac版本上,我不需要包含空格。
是否有更好的方法将\textbackslash
合并到表中?我尝试了\newline
,而我只是尝试了r'\newline'
,但都没有用。后者不起作用的原因是我正在使用的IDE(PyCharm)将单个斜杠解释为换行符而不是字符串的一部分。我使用的双斜杠只是为了解决这个问题,但是to_latex()然后将双斜杠解释为'\newline'
。
答案 0 :(得分:0)
我发现问题确实出在熊猫to_latex()命令上,并编辑了原始问题。
对于Windows版本,pandas将\\newline
替换为'\ textbackslash newline'。但是在Mac上,它用'\ textbackslashnewline'代替,没有空格。然后我在使用:
.replace('textbackslash', '')
在Mac上可以运行,但在Windows上由于空间不足而失败。我无法弄清楚的是为什么Mac和Windows to_latex()函数之间存在差异。
请注意,我知道to_latex()中的escape=False
选项,但是这弄乱了我希望转义字符串部分的实例(例如\$
)。