我有一个文件(.txt),它包含:[0 1,1 1,3 2,4 1]
读取文件包含在Python列表和逗号分隔
我想读这样的文件:
0 1 /n
1 1 /n
3 2 /n
4 1 /n
我有问题如何消除括号并用逗号分隔每一行。 感谢您的建议:)
我有一个文件(.txt),它包含:[0 1,1 1,3 2,4 1]
读取文件包含在Python列表和逗号分隔
我想读这样的文件:
0 1 /n
1 1 /n
3 2 /n
4 1 /n
我有问题如何消除括号并用逗号分隔每一行。 感谢您的建议:)
一种不同的方法,如果括号内是不是第一个和最后一个字符,也将工作:
print s[s.index("[")+1:s.index("]")].replace(",", "\n")
如果括号总是是的ifrst和字符串的最后一个字符,可以简化为
print s[1:-1].replace(",", "\n")
>>> s = "[0 1,1 1,3 2,4 1]"
>>> print '\n'.join(s[1:-1].split(','))
0 1
1 1
3 2
4 1
简单的代码片段:
with open("file.txt", "r") as _f:
myfile = _f.readlines()
myline = myfile[0]
print '\n'.join(myline[1:-1].split(','))
如果您的文件中有多条相似的行,on就可以在'myfile'上迭代for语句。
for line in myfile:
print '\n'.join(line[1:-1].split(','))
注意,如果你确信括号内是在开始和该行的末尾,你可以使用:
print "\n".join(line.strip('[]').split(','))
油滑的,但不验证了。特别是,它给出了相同的结果:'{0 1,1 1,3 2,4 1}','(0 1,1 1,3 2,4 1)',这可能是可以接受的,但这可能不是:'00 1,1 1,3 2,4 10'。根据应用情况,更复杂的解决方案可能会有所帮助。 – 2010-11-07 17:29:11