如何将数组从.txt文件导入到numpy数组?

问题描述 投票:1回答:1

抱歉,如果这是超级菜鸟,但我已经尝试在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 ]]

python arrays numpy import genfromtxt
1个回答
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)
© www.soinside.com 2019 - 2024. All rights reserved.