我有一個文件(.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