【发布时间】:2020-02-10 09:28:07
【问题描述】:
我正在尝试构建一个预算计算器来练习 python。目前我正在尝试遍历目录中的文件,然后将每个文件传递给一个函数以将我需要的数据提取到 DataFrame(准备好对其进行计算)。
我已经设法创建了清理数据的函数,以及一个遍历文件的 for 循环。但是,我无法弄清楚如何为每次迭代附加 DataFrame。
#Where to look
os.chdir(r"C:\relevant\directory")
cwd = os.getcwd()
#key variables
main_df = pd.DataFrame()
pay_slip = {}
master_df = pd.DataFrame()
#Iterate over files
for file in os.listdir():
slip_content = read_pdf(file)
pay_slip[file] = slip_content
#Data clean up function
def get_key_info(pay_slip):
read_dictionary = pay_slip.get(file)
salary_str = read_dictionary["Employee"].iloc[2]
pay_after_tax_str = read_dictionary["Tax Period"].iloc[14]
date_format = read_dictionary["Pay Date"].iloc[0]
salary = int(float(salary_str[1:].replace(",", "")))
pay = int(float(pay_after_tax_str[1:].replace(",", "")))
deductions = (salary - pay)
df = pd.DataFrame([
[date_format, salary, pay, deductions]
],
columns=["Payment date", "Salary before tax", "take home pay", "total deductions"])
return df
print(get_key_info(pay_slip))
当我运行此代码时,只有一个文件被添加到 DataFrame,而不是所有文件。
提前感谢您的帮助
【问题讨论】: