附加数据帧时出错

时间:2016-05-23 15:36:46

标签: python pandas

我试图将每个文件的数据框附加到单个主数据帧中。但是,最终的数据框是空白的。我在尝试附加之前打印了每个,并且独立的数据帧有数据。

代码:

import pandas as pd
import os

source_directory = r'H:\folder'

masterDF = pd.DataFrame()

for file in os.listdir(source_directory):
    if file.endswith(".xlsx") or file.endswith(".xls"):
        dataframe = pd.read_excel(source_directory + '\\' + file)
        print(dataframe)
        masterDF.append(dataframe)

print(masterDF)

结果:

   Col_A  Col_B
0     46      5
1     56      4
2     45      4
3     45      4
4    455      5
5      4      4
6      4      5
7    544      4
   Col_A  Col_B
0     64      9
1      4     45
2      4     42
3     45      4
4     46      7
5     56     75
Empty DataFrame
Columns: []
Index: []

1 个答案:

答案 0 :(得分:1)

追加不起作用,它会返回附加的DataFrame,因此您必须将其分配给masterDF:

masterDF = masterDF.append(dataframe)

然而,追加数据框意味着每次都必须构建一个新的数据帧。更快的替代方法是构建从Excel文件中读取的数据帧列表,然后使用返回一个数据帧的pd.concat(my_list)。

编辑代码我会这样做:

import pandas as pd
import os

source_directory = r'H:\folder'

master_list = []

for file in os.listdir(source_directory):
    if file.endswith(".xlsx") or file.endswith(".xls"):
        dataframe = pd.read_excel(source_directory + '\\' + file)
        print(dataframe)
        master_list.append(dataframe)

masterDF = pd.concat(master_list, ignore_index=True)
print(masterDF)