【发布时间】:2019-05-09 11:19:38
【问题描述】:
我有一个包含大量行的文本文件。每行有 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)
我提供文本文件作为参数,目前,我收到一个错误,
H = len(adc)/N_SAMPS
TypeError: len() of unsized object
【问题讨论】:
-
我不明白。你说每一行都有
4096 integer values,但不能使用loadtxt,因为列数不同。这些是相互矛盾的陈述。好的,所以你读取文件并替换 nl。但是,您在哪里将行拆分为代表这些整数的字符串?
标签: python arrays python-2.7 numpy