使用文本文件的内容创建新数组

时间:2014-09-19 08:20:58

标签: 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+1
    a.append(int(b))
    c=c+1
print a

帮助,

2 个答案:

答案 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