Python 读取txt文件输入并向两个数组添加值
我想将Python 读取txt文件输入并向两个数组添加值,python,numpy,Python,Numpy,我想将A,B,C列值获取到数组(3 x 3),并将D列获取到另一个数组(3 x 1)。简单暴力法: import numpy as np # Read the data from a file with open('data.txt') as file: lines = file.readlines() # Chop of the columns raw_data = lines[1:] # Now fetch all the data data_abc = [] data
A
,B
,C
列值获取到数组(3 x 3),并将D
列获取到另一个数组(3 x 1)。简单暴力法:
import numpy as np
# Read the data from a file
with open('data.txt') as file:
lines = file.readlines()
# Chop of the columns
raw_data = lines[1:]
# Now fetch all the data
data_abc = []
data_d = []
for line in raw_data:
values = line.split()
data_abc.append(values[:3])
data_d.append(values[3])
# Convert to matrix
data_abc = np.asmatrix(data_abc)
data_d = np.asmatrix(data_d)
# Display the result
print('Data A B C:', data_abc)
print('Data D:', data_d)
虽然它工作得很好,但当我将文件作为输入放入时,它会显示“AttributeError:‘file’object没有属性‘split’”,然后您需要将文件加载到内存中并循环所有行(请参阅更新的代码)。
import numpy as np
# Read the data from a file
with open('data.txt') as file:
lines = file.readlines()
# Chop of the columns
raw_data = lines[1:]
# Now fetch all the data
data_abc = []
data_d = []
for line in raw_data:
values = line.split()
data_abc.append(values[:3])
data_d.append(values[3])
# Convert to matrix
data_abc = np.asmatrix(data_abc)
data_d = np.asmatrix(data_d)
# Display the result
print('Data A B C:', data_abc)
print('Data D:', data_d)
a33 = [[],[],[]]
a31 = []
with open('dat.txt') as f:
for ln in f:
a,b,c,d = ln.split()
a33[0] += a
a33[1] += b
a33[2] += c
a31 += d
print a33
print a31
[['2', '4', '3'], ['4', '5', '6'], ['5', '3', '7']]
['6', '7', '8']