我正在遍历位于主目录中各个文件中的 Excel 电子表格。大多数电子表格如下所示:
df = pd.DataFrame({"A": [1, 2, 3],
"B": [4, 5, 6],
"C": [7, 8, 9],
"D": [10, 11, 12],
"E": [13, 14, 15],
"F": [16, 17, 18],
"G": [19, 20, 21]})
但是,我的电子表格中有大约 100 个与我填充的电子表格具有相同的名称和列数,但是,没有数据存在。它们看起来像这样:
df2 = pd.DataFrame({"A": [],
"B": [],
"C": [],
"D": [],
"E": [],
"F": [],
"G": []})
我仍然想“提取”该信息,并为这些空白行插入一个占位符。我的预期结果如下所示:
df3 = pd.DataFrame({"A": [1, 2, 3, NaN],
"B": [4, 5, 6, NaN],
"C": [7, 8, 9, NaN],
"D": [10, 11, 12, NaN],
"E": [13, 14, 15, NaN],
"F": [16, 17, 18, NaN],
"G": [19, 20, 21, NaN]})
目前,我的代码没有使用占位符 (NaN) 填充聚合电子表格。在检查我的 df 是否为空时,我尝试 df.fillna 以及附加 NaN,但是,我仍然没有用我的空电子表格中的 NaN 填充我的聚合 df。这是我到目前为止所写的:
import os
import pandas as pd
pd.options.display.max_rows=999
import numpy
from numpy import NaN
root = "my_dir"
agg_df = pd.DataFrame()
blank_rows = pd.Series([NaN,NaN,NaN,NaN,NaN,NaN,NaN], index=['A', 'B', 'C',
'D', 'E',
'F', 'G'])
for directory, subdirectory, files in os.walk(root):
# print(directory)
for file in files:
filepath = os.path.join(directory, file)
print(directory)
if file == 'Apples.xlsx':
df_temp = pd.read_excel(filepath, sheet_name = 'Apples')
df_temp['Filepath'] = filepath
if df_temp.empty == True:
df_temp.append(blank_rows, ignore_index = True)
agg_df = agg_df.append(df_temp)
白衣染霜花
相关分类