Python - 将单反斜杠转换为逗号

时间:2018-03-29 04:14:26

标签: python

我有一个gz文件,其中前5列用反斜杠分隔,后5个用逗号分隔。我正在阅读文件如下:

with gzip.open(myfile, 'r') as fin:
        for line in fin:
            print line

数据如下所示:

a\b\c\d\e,f,g,h,i,j

如何将反斜杠转换为逗号,以便它看起来像这样?

a,b,c,d,e,f,g,h,i,j

我试过了:

>>> g = 'a\b\c\d\e,f,g,h,i,j'
>>> g2 = g.replace('\\', ',')
>>> g2
'a\x08,c,d,e,f,g,h,i,j'

以原始格式读取字符串可以解决问题:

>>> g = r'a\b\c\d\e,f,g,h,j,k'
>>> g.replace('\\', ',')
'a,b,c,d,e,f,g,h,j,k'

但是如何将gzip文件中的行作为原始字符串读取?

2 个答案:

答案 0 :(得分:2)

只需阅读它,就像你已经阅读过它一样。从文件中读取不会应用字符串文字转义处理。字符串文字转义处理仅适用于字符串文字。

答案 1 :(得分:0)

它存在方法.read()和.readlines(),但不知道它是否适用于gz文件,尝试使用它并使用r'内容'。问题是\ b,\ t,\ n,\ u2003,其他是特殊的字符,使用.replace(' \',',')不会工作