gpt4 book ai didi

将多个文件中的数据导入数组的Pythonic方法

转载 作者:太空狗 更新时间:2023-10-29 20:54:30 30 4
gpt4 key购买 nike

我对 Python 比较陌生,想知道如何最好地将数据从多个文件导入到一个数组中。我有很多包含 50 行两列数据(列分隔)的文本文件,例如:

Length=10.txt:     
1, 10
2, 30
3, 50
#etc
END OF FILE

-

Length=20.txt
1, 50.7
2, 90.9
3, 10.3
#etc
END OF FILE

假设我有 10 个文本文件要导入并导入到一个名为 data 的变量中。

我想创建一个包含所有数据的 3D 数组。这样,我可以通过 data[:,:,n] 引用数据来轻松绘制和操作数据,其中 n 指的是文本文件的索引。

我认为我这样做的方法是拥有一个形状数组 (50, 2, 10),但不知道如何最好地使用 python 来创建它。我考虑过使用循环将每个文本文件导入为二维数组,然后将它们堆叠起来创建一个二维数组,尽管找不到合适的命令来执行此操作(我查看了 numpy 中的 vstack 和 column_stack 但这些似乎没有添加额外的维度)。

到目前为止,我已经编写了导入代码:

    file_list = glob.glob(source_dir + '/*.TXT') #Get folder path containing text files

for file_path in file_list:
data = np.genfromtxt(file_path, delimiter=',', skip_header=3, skip_footer=18)

但是这段代码的问题是,我只能在 for 循环中处理数据。

我真正想要的是从文本文件导入的所有数据的数组。

如有任何帮助,我们将不胜感激!

最佳答案

“但是这段代码的问题是,我只能在 for 循环中处理数据。”

假设您的代码有效:

# Get folder path containing text files
file_list = glob.glob(source_dir + '/*.TXT')
data = []
for file_path in file_list:
data.append(
np.genfromtxt(file_path, delimiter=',', skip_header=3, skip_footer=18))
# now you can access it outside the "for loop..."
for d in data:
print d

关于将多个文件中的数据导入数组的Pythonic方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13627576/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com