2016-09-07 61 views
1

我想对包含子目录的文件夹中的每个文本文件应用两个单独的图表,但是我不希望它们被合并到一个数据框中。 我目前只能够一次加载一个文件到熊猫。如果我把根目录,我得到一个文件不存在的错误。如何在不连接的情况下将多个csv加载到熊猫中?

data = pd.read_csv(r'/Users/work/DexterStudio/DataFolder/*', sep=" ", header = None, na_values='NaN') 

# organize data 
data.drop(data.columns[[4]], axis=1, inplace=True) 
data.columns = ["timestamp", "x", "y", "z"] 

#get current axes object 
frame1 = plt.gca() 

#draw two graphs 
plt.plot(data['timestamp'],data['x'],color='r', label='x-axis') 
plt.plot(data['timestamp'],data['y'], color='b', label='y-axis') 

# hide axes 
frame1.axes.get_xaxis().set_visible(False) 
plt.legend(loc='upper right') 
plt.show() 


plt.plot(data['timestamp'],data['z'],color='g', label='z-axis') 
plt.legend(loc='upper right') 
plt.show() 
+0

*我目前只能够一次将一个文件加载到熊猫* ...就像任何其他Python结构(列表,元组,字典)或对象一样,您可以加载尽可能多的熊猫dfs,因为内存允许。 – Parfait

回答

0

只需要做两读语句转换为两个变量,并从那里:

data1 = pd.read_csv(r'/Users/work/DexterStudio/DataFolder/file1', sep=" ", header = None, na_values='NaN') 
data2 = pd.read_csv(r'/Users/work/DexterStudio/DataFolder/file2', sep=" ", header = None, na_values='NaN') 

注意命名的文件在读取声明,你现在有数据1和数据2

+0

你认为最好实现一个for循环吗?我有大约8个子目录,每个文件夹中有大约9个文件夹,并有多个txt文件来应用这个脚本。 – kan89

+0

一个完全不同的问题取决于你的目标以及你想要的一般程度,以及你想在内存中连续处理还是在内存中一次处理。 – dartdog

+0

如果您想通过目录循环检查该问题以读取目录,然后循环它包含的文件或满足条件的文件。但这个问题不同于这个问题。 – dartdog

相关问题