我有一个文本文件,包含大量的行。每行有4096个整数值。你知道吗
500 501 300 400 ------------------------------------------------------------
300 400 600 700 -----
501 407 603 771 ------------------------------------------------------------
382 659 889 700 -----
so on
我要做的是使用numpy将这个文件作为一维数组读取。我不能使用简单的loadtxt,因为它需要相同的列数。 有什么建议吗?我的最终目标是操纵这个数组以插入某些值。你知道吗
你可以从我的代码中得到更多细节
from sys import argv
import numpy as np
script, PhilFile = argv
intxt = open(PhilFile)
invalues = intxt.read()
invalues = invalues.replace(' ', '\n')
adc = np.asarray(invalues)
print adc
N_CHANS = 5
N_SAMPS = 256
H = len(adc)/N_SAMPS
N = 0
header = np.array([666,777,888,999])
for l in range(0,H) :
adc = np.insert(adc, [N]*header.size, header)
N += 258
print adc
np.savetxt("test1.txt", adc)
我提供textfile作为参数,目前,我得到一个错误作为
H = len(adc)/N_SAMPS
TypeError: len() of unsized object
我可以重现你的错误:
从单个字符串构造数组将生成0d的单元素数组。你知道吗
您必须首先拆分字符串:
您打印了
adc
。你没注意到它不是一个数字数组吗?我强烈建议在交互式会话中一步一步地开发这样的代码(我使用ipython
)。它有助于捕捉像这样的矛盾。你知道吗相关问题 更多 >
编程相关推荐