我在一个文件夹中有多个pickle文件,我想先加载它们,然后绘制它们。确实,我想根据它们的名称来绘制它们。因此,我需要将它们加载到不同的数据帧或字典中,然后进行绘制。例如,当文件名包含“ linear”时,我需要使用线性图;当名称包含“ scat”时,我需要使用散点图。我可以单独阅读它们,然后使用以下代码对其进行绘制:
import pickle
with open('path/filename', 'rb') as f:
mydata=pickle.load(f)
f.close()
但是事实是这些文件正在更改,有些文件我少了,有时文件多了。因此,我需要以自动方式进行操作。有想法吗?
答案 0 :(得分:1)
您可以按照here所述使用os.listdir()来获取给定文件夹中所有文件的列表。
然后,您可以制作一个文件名(键)和数据(值)的字典(假设所有文件都具有唯一的名称)。
答案 1 :(得分:1)
首先,您需要列出所有的泡菜文件:
import glob
all_files = glob.glob('path_to_files/*.pickle')
然后,您可以检查文件名是否包含线性或分散名称:
for curr_file in all_files:
with open(curr_file, 'rb') as f:
mydata=pickle.load(f)
if curr_file.find('linear'):
# code to plot_linear_plot
# ...
if curr_file.find('scatter'):
# code plot_scatter_plot
# ...