Python将文本添加到一行

时间:2017-03-30 14:05:59

标签: python-3.x

a = open('testlines.csv', 'r')
b = a.readlines()
a.close()

for c in range(0,1):
    d = '<' + b[c] + '>'
    d = b[c].replace(',', '><')
    e = re.findall(r'<(.*?)>', d, re.DOTALL)
    print(d)
    print(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])

d不能正确打印,&lt;或者&gt;在行的开头和行的结尾不显示。如果我将两行反转以创建/修改d,则它不会替换逗号。我在这做错了什么。我想要替换,我需要添加&lt; &GT;在开头和结尾,所以我做了findall并在它将所有东西分开后最终创建了一个多维数组。

1 个答案:

答案 0 :(得分:0)

问题在于,在您分配d = '<'+b[c]+'>'后,d 不执行任何操作,但会为其重新分配值。因此,您添加<...>的步骤将丢失。

您可以通过d代替b[c]来解决此问题,例如:

for c in range(0,1):
    d = '<' + b[c] + '>'
    d = d.replace(',', '><') # use d instead of b[c]
    e = re.findall(r'<(.*?)>', d, re.DOTALL)
    print(d)
    print(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])