在Python中读取包含列表和逗号分隔的文件
我有一个文件(.txt),里面的内容是:[0 1,1 1,3 2,4 1]
我想要以这样的方式读取这个文件:
0 1 /n
1 1 /n
3 2 /n
4 1 /n
我遇到的问题是,怎么去掉方括号,并且用逗号把每一行分开。谢谢大家的建议 :)
3 个回答
0
简单的代码片段:
with open("file.txt", "r") as _f:
myfile = _f.readlines()
myline = myfile[0]
print '\n'.join(myline[1:-1].split(','))
如果你的文件里有几行类似的内容,可以用一个for循环来遍历'myfile'。
for line in myfile:
print '\n'.join(line[1:-1].split(','))
注意,如果你确定每行的开头和结尾都有括号,你可以使用:
print "\n".join(line.strip('[]').split(','))
3
在编程中,有时候我们需要处理一些数据,这些数据可能来自不同的地方,比如用户输入、文件或者网络请求。为了让程序能够理解这些数据,我们通常会把它们转换成一种特定的格式,这样程序才能更方便地使用。
比如说,如果我们有一个用户输入的字符串,我们可能需要把它变成一个数字,这样才能进行数学运算。这个过程叫做“类型转换”。
在不同的编程语言中,类型转换的方法可能会有所不同。有些语言会自动帮你转换,有些则需要你手动去做。了解这些转换的规则,可以帮助你写出更有效的代码。
总之,处理数据时,记得要把它们转换成合适的格式,这样程序才能顺利运行。
>>> s = "[0 1,1 1,3 2,4 1]"
>>> print '\n'.join(s[1:-1].split(','))
0 1
1 1
3 2
4 1
1
还有一种方法可以处理括号不在字符串的开头和结尾的情况:
print s[s.index("[")+1:s.index("]")].replace(",", "\n")
如果括号总是出现在字符串的最前面和最后面,你可以把这个过程简化为:
print s[1:-1].replace(",", "\n")