2024-04-25 23:11:02 发布
网友
我对Python还不熟悉。我想从文本文件中读取一个二维整数数组,文件中每行一行,数字用逗号分隔。这样做有效:
s = f.read() ss = s.splitlines() mx = [] for i in range(0,len(ss)): mx.append([]) for s1 in ss[i].split(','): mx[i].append(int(s1))
有没有更简单的方法?你知道吗
使用嵌套列表:
with open(filename) as f: mx = [[int(x) for x in line.split(',')] for line in f]
或用map列出理解:
map
mx = [map(int, line.split(',')) for line in f]
注意,在python3中,您需要在map附近额外调用list()。你知道吗
list()
如果NumPy可用:
>>> import numpy as np >>> mx = np.loadtxt(filename, delimiter=',', dtype=int).tolist()
有一个用于读取逗号分隔文件(^{})的内置模块:
import csv mx = [map(int, row) for row in csv.reader(open(filename))]
另外,如果您计划使用此数组进行计算,您可能会发现安装和使用^{}很有用:
import numpy mx = numpy.loadtxt(filename, delimiter=',', dtype=int)
mx现在将是^{},而不是列表列表。你知道吗
mx
使用嵌套列表:
或用
map
列出理解:注意,在python3中,您需要在
map
附近额外调用list()
。你知道吗如果NumPy可用:
有一个用于读取逗号分隔文件(^{} )的内置模块:
另外,如果您计划使用此数组进行计算,您可能会发现安装和使用^{} 很有用:
mx
现在将是^{相关问题 更多 >
编程相关推荐