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 引號輸入錯誤(雙引號和單引號),因為我是從移動設備寫的
添加回答
舉報