Python 2.7 使用文本文件的内容创建新数组
我是python新手 b.txt的内容是 132,21,5,63 43,21,2,3,5,2,1 基本上,我正在尝试使用文本文件上的内容创建一个新数组 我想知道为什么这个代码不起作用Python 2.7 使用文本文件的内容创建新数组,python-2.7,Python 2.7,我是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
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
请帮忙,如果我正确地理解了您的意图,那么一种更具python风格的方法是: fileHandler=打开'b.txt','r' 列表=[] 对于fileHandler中的行: listOfLists.appendline.split, 打印列表 在您的示例中,这将产生以下结果:
[["132","21","5","63"],["43","21","2","3","5","2","1"]]
如果您想将它们全部放在一个列表中,如[132,21,5,63,43,21,2,3,5,2,1],可以将append方法与extend方法交换。另一种代码替代方法可以是:
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
在第[c]!=','行中和第[c+1]行!=',':,行[c+1]!=','这就足够了。换句话说,行[c]!=','没有必要。我想把它分成两个数组,然后把字符串转换成整数?我应该怎么做呢?因为您有字符串数组,所以可以像在数组中的for元素那样迭代数组,使用int方法将每个元素转换为整数。