如果这是一个愚蠢的问题,我很抱歉,但我已经为此工作了几个小时,但我无法让它工作。请帮忙!
我有一个源自 Excel 的 .txt 文件。该文件包含字符串和数字,但我只对数字感兴趣,这就是为什么我跳过第一行,只从第 2 列开始阅读。
from numpy import *
我将它加载到 Python 中做
infile = open('europenewMatrix.txt','r')
infile.readline() # skip the first line
numbers = [line.split(',')[2:] for line in infile.readlines()]
infile.close()
因为我需要用它做计算,所以我把它转换成一个矩阵:
travelMat = array(numbers)
好的,但这并没有将字符串转换为整数,所以我手动完成:
for i in xrange(len(numbers)):
for j in xrange(len(numbers)):
travelMat[i,j] = int(self.travelMat[i,j])
#end for
在这一点上,我希望我所有的条目都是整数 但如果我这样做
print 'type is',type(self.travelMat[1,2])
答案是:
type is <type 'numpy.string_'>
我怎样才能真正将所有条目转换为整数? 非常感谢!
最佳答案
在创建数组之前,边读边转换数字:
infile = open('europenewMatrix.txt','r')
infile.readline() # skip the first line
numbers = []
for line in infile:
numbers.append([int(val) for val in line.split(',')[2:]])
infile.close()
travelMat = array(numbers)
关于Python和excel读取文件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6730467/