道歉,如果这是超级菜鸟,但我已经尝试搜索整个StackOverflow,并且无法找到如何将数据从文本文件导入到numpy数组中,当有" ["或者" [[" chars已经出现了。
上下文:我将系统日志输出保存到文本文件中,我尝试使用np.genfromtxt()和np.loadtxt()。此外,这些数组实际上是高度结构化的(它们总是10列,但我生成的文本文件将一行10列拆分为一行,比如6行,另外4行。我想知道是否已经存在一种内置的方式来读取这些数据而无需声明"开始新行"在" ["和结束行"]"。
[[ 2.16089589e-07 -2.41978796e-07 5.81936831e-07 2.67195929e-07
1.41540781e-07 -2.39142167e-07 2.11576619e-07 2.70369611e-07
3.11488321e-07 1.41789783e-07]
[-3.81266403e-07 -2.30981200e-07 -7.07703123e-08 -9.66262661e-08 -3.73168461e-07 -2.65608435e-07 -2.38021940e-07 3.23960222e-07 -1.73911175e-07 -4.02730223e-07]]
答案 0 :(得分:1)
from numpy import array
with open("your_file.txt", "r") as myFile: ## Open (and close) your file
arr = ""
for line in myFile:
arr += line.replace("\n", "") ## Replace each newline character in each line so that arr is just one long continuous string
arr = " ".join(arr.split()) ## Replace multiple whitespace with single spaces
arr = arr.replace(" ", ",") ## Replace the spaces with commas (so that it can be interpreted as a list
arr = eval(arr) ## The text will now be stored as a list
arr = array( arr ) ## Now it's a numpy array (hopefully)