python中,读取文件,希望转化为列表的格式,出现了问题

一个文本,他的数据格式如图:

一共有10列,我的目的是将他变成[[0,0,0,0,20,1580,,130,0,0,0],[0,0,0,0,18,1422,99,0,0,0],[...],...]这样的数值列表,我使用的方法是:
def loadDataSet(filename):
dataMat=[]
fr=open(filename)
for line in fr.readlines():
curLine=line.strip().split('\t')#每一行,列表
#print curLine
for i in range(len(curLine)):
#print curLine[i]
curLine[i]=str(curLine[i])
curLine[i]=int(curLine[i].strip().strip('\"').strip('\''))
print curLine[i]
if curLine[i]==nan:
curLine[i]=0
print curLine
fltLine=map(float,curLine)
dataMat.append(fltLine)
return dataMat #结果为列表
dataMat=mat(loadDataSet(u'F:\\OutPut\\usemac1Test.txt'))
print dataMat
序列中的每一个元素是一个列表,我将这些列表中的每一个元素输出是整数值,但是输出每个列表时却有问题,输出了很多'"0"'类似这样的值请看程序的运行结果:

请问为什么会这样,求大神帮忙改改代码,因为我之后用这些数据计算时,发生了nan值的错误,如何变成全整数的列表????

def loadDataSet(filename):
    dataMat=[]
    fr=open(filename)
    for line in fr.readlines():
        line = line.replace('"','')
        curLine=line.strip().split('\t')
        aa = [float(i) for i in curLine]
        dataMat.append(aa)
    return dataMat
dataMat=loadDataSet('test.txt')
print (dataMat)

追问

这个行了!但是我想问下我用strip为什么没有去掉他的"和'呢,还有残余的一些在是为啥呢??

追答

换成下面这个试试
line.strip(‘“’)

追问

这样不行。。我还有个更大的问题,就是用kmeans算法处理数据时候,老有nan值问题,这个问题还是没解决,你的邮箱能告诉我吗,我把代码和数据文件发给你,都不大

追答[email protected]

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-28
python 读取文本文件内容转化为python的list列表,案例如下:
1、目的
读取cal.txt内容,然后通过python脚本转化为list内容
2、文件内容
cal.txt
12
13
14
15
16
3、Python编写cal.py脚本内容
#!/usr/bin/python
#coding = UFT-8
result=[]
fd = file( "cal.txt", "r" )
for line in fd.readlines():
result.append(list(map(int,line.split(','))))
print(result)

for item in result:
for it in item:
print it
4、执行转换为List列表结果内容:
[[12], [13], [14], [15], [16]]
12
13
14
15
16