3 回答
TA贡献1813条经验 获得超2个赞
我会搜索当前目录中的所有文件,并确定要从中提取数据的文件。这可以通过以下方式完成:
from os import listdir, path
files = [f for f in listdir('.') if path.isfile(f)]
file_names = [file for file in files if file.startswith('file_name_identifer')]
这将为您提供一个文件名列表,其中包含您要提取的数据,然后您可以在 for 循环中逐个加载它们。使用与上面使用的类似的加载技术:
data = []
for file in file_names:
data.append(np.loadtxt('file', delimiter=',', unpack=True))
您也可以将其展平为生成器表达式:
data = [np.loadtxt('file', delimiter=',', unpack=True) for file in file_names]
如果您的文件没有以可用于识别它们的内容开头,您可以简单地检查其他方式(更改if file.startswith('file_name_indentifer')为其他内容,可能会检查它们是否为 .txt 文件,例如:)if file.endswith('.txt')。
TA贡献1869条经验 获得超4个赞
您可以使用上述方法得到目录中的所有文件的列表,这个帖子
然后做这样的事情:
data = []
for file in filenames:
data.append(np.loadtxt(file, delimiter=‘,’, unpack = True
#And do everything else you did with data
虽然如果您的数据集大于系统内存中的可用空间,我会考虑在您读取文件时添加数据点进行绘图
data = []
colors = [“red”,”green”,”blue”,”balck”]
for i, file in enumerate(filenames):
data = np.loadtxt(file, delimiter=‘,’,unpack=True)
group = file.split(‘.’)[0]
color = colors[i%len(colors)]
ax.scatter(data[0], data[1], alpha=0.8, c=color, edgecolors=‘none’, s=30, label=group)
PS 引号输入错误(双引号和单引号),因为我是从移动设备写的
添加回答
举报