如何将数组从.txt文件导入到numpy数组?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将数组从.txt文件导入到numpy数组?相关的知识,希望对你有一定的参考价值。
抱歉,如果这是超级菜鸟,但我已经尝试在StackOverflow上搜索,并且当有“[”或“[[”字符已经存在时,无法找到如何将数组从文本文件导入到numpy数组。
上下文:我将系统日志输出保存到文本文件,我尝试使用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 ]]
答案
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("
", "") ## 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)
以上是关于如何将数组从.txt文件导入到numpy数组?的主要内容,如果未能解决你的问题,请参考以下文章
将 numpy.searchsorted 方法应用于使用 numpy.loadtxt 从文本文件加载的数组