我是使用python的新手 b.txt的内容是
132,21,5,63
43,21,2,3,5,2,1
基本上,我正在尝试使用文本文件
上的内容创建一个新数组我想知道为什么这段代码不起作用
x=open('b.txt','r')
for line in x:
a=[]
b=line[0]
c=0
while c+1<len(line):
while line[c]!=',' and line[c+1]!=',':
b=b+line[c+1]
c=c+1
a.append(int(b))
c=c+1
print a
帮助,
答案 0 :(得分:0)
如果我理解你正在尝试做什么,那么采用更加pythonic的方式是:
fileHandler = open('b.txt', 'r')
listOfLists = []
for line in fileHandler:
listOfLists.append(line.split(","))
print listOfLists
在您的示例中,这将生成此结果:
[["132","21","5","63"],["43","21","2","3","5","2","1"]]
如果您希望将它们全部放在一个列表中(例如["132","21","5","63","43","21","2","3","5","2","1"]
),则可以使用append
方法交换extend
方法。
答案 1 :(得分:0)
另一个代码替代方案可能是:
import re
result = []
with open("b.txt", 'r') as b_file:
content = b_file.read()
result = re.split(",|\n", content)
result = = [int(r) for r in result if r!='']
print result