我有一个列表tsv文件,我正在分析,并希望将其转换成一个数组。
以下是文件格式-
jobname1 queue maphours reducehours
jobname2 queue maphours reducehours
代码
with open(file.tsv) as tsv:
line = [elem.strip().split('\t') for elem in tsv]
vals = np.asarray(line)
print vals[0]
print vals[4]
VAL当前返回以下输出-
['job1', 'queue', '1.0', '0.0\n']
['job2', 'queue', '1.0', '0.0\n']
我要将整个文件中一行中的每个元素转换为数组对象-
vals[0] = job1 vals[1] = queue vals[2] = 1.0 vals[3] = 0.0
我如何做到这一点?
2条答案
按热度按时间vojdkbi01#
据我所知,您希望在numpy中创建2d数组,其中文件的每一行都是与创建的数组相对应的行,文件中的列是数组中的列。如果是这样,您可以按以下步骤进行:
例如,如果数据文件是:
以下代码:
结果如下
vals
数组:获取您可以执行的作业名称:
或者,如果需要包含某个作业的行,可以执行以下操作:
wpcxdonn2#
你确定需要数组吗@如果你想要一个numpy数组,marcin的答案更完整。
python没有数组数据结构(这里有python数据结构列表)。在c数组周围有一个“薄 Package 器”。为了在c数组周围使用 Package 器,您必须指定数组将容纳的类型(在这里您可以在顶部找到类型代码列表,在底部找到示例):
如果要使用numpy数组,这应该可以:
从这里领养的。