假设我有一个包含许多行和列数据的.txt文件以及一个包含整数值的列表.如何在文本文件中加载与列表中的整数匹配的行号?
为了说明,假设我有一个整数列表:
a = [1,3,5]
Run Code Online (Sandbox Code Playgroud)
我如何只将文本文件中的行1,3和5读入数组?
numpy中的loadtxt例程让你们都跳过行并使用特定的列.但我似乎无法找到一种方法来做某事(忽略不正确的语法):
new_array = np.loadtxt('data.txt', userows=a, unpack='true')
Run Code Online (Sandbox Code Playgroud)
谢谢.
鉴于此文件:
1,2,3
4,5,6
7,8,9
10,11,12
13,14,15
16,17,18
19,20,21
Run Code Online (Sandbox Code Playgroud)
您可以使用csv模块获取所需的np数组:
import csv
import numpy as np
desired=[1,3,5]
with open('/tmp/test.csv', 'r') as fin:
reader=csv.reader(fin)
result=[[int(s) for s in row] for i,row in enumerate(reader) if i in desired]
print(np.array(result))
Run Code Online (Sandbox Code Playgroud)
打印:
[[ 4 5 6]
[10 11 12]
[16 17 18]]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14658 次 |
| 最近记录: |