python开发“简易版本的账务管理系统”

前言

    在当今数字化时代,个人和企业对于财务管理的需求变得愈发迫切。随着信息技术的不断发展,自动化的财务管理系统成为提高效率、减轻工作负担的利器。本文介绍的是一款基于 Python 的简易账务管理系统,旨在为用户提供一个轻量级、易用的财务管理工具。
这账务管理系统以 PySimpleGUI 为基础,通过简单直观的图形用户界面(GUI)收集用户输入的费用信息,并利用 Pandas 库进行数据处理。这个系统的设计初衷是帮助用户轻松记录和管理销售费用、管理费用和财务费用,同时提供了不同的保存方式,以满足用户个性化的需求。
通过阅读本文,您将了解到这个系统的工作原理、使用方法,以及如何根据自己的需求进行二次开发。无论您是个人用户还是小型企业,这款账务管理系统都能够为您提供一个简单而高效的财务记录工具。希望本文对您在财务管理领域的学习和实践有所启发。

    注:本文及程序以我个人作为抱以“初学者共同学习,共同进步”的心态来开发,如有错误之处请路过的大佬批评指正。

代码及详细注释

# 导入必要的库
import PySimpleGUI as sg
import os
import time, datetime
import pandas as pd

#获取当前日期
默认日期 = time.strftime('%Y-%m-%d', time.localtime())
## 默认路径和文件名
默认路径 = "D:\\计算机编程\\python项目\\临时\\账务管理系统\\"
默认文件名 = "账务管理.xlsx"

# 定义GUI布局
框1 = [sg.Frame('保存类型:',
                [[sg.Radio('数据追加保存', 'radio1', default=True, key='数据追加', size=(15, 1), enable_events=True),
                  sg.Radio('数据覆盖保存', 'radio1', key='数据覆盖', size=(15, 1), enable_events=True)],
                 ])]
框2 = [sg.Frame('保存路径:', [[sg.Text('保存目录:', size=(15, 1)), sg.InputText(默认路径, key="路径", size=(30, 1))],
                              [sg.Text('保存文件名:', size=(15, 1)),
                               sg.InputText(默认文件名, key="文件名", size=(30, 1))],
                              ])]
框3 = [sg.Frame('登记费用:', [
    [sg.Text('销售费用', size=(15, 1)), sg.InputText(key="销售", size=(30, 1))],
    [sg.Text('管理费用', size=(15, 1)), sg.InputText(key="管理", size=(30, 1))],
    [sg.Text('财务费用', size=(15, 1)), sg.InputText(key="财务", size=(30, 1))],
    [sg.Text('登记日期', size=(15, 1)), sg.InputText(默认日期, key="日期", size=(30, 1))]
])]
按钮布局 = [sg.Button('保存'), sg.Button('退出')]

布局 = [框1, 框2, 框3, 按钮布局]

# 创建GUI窗口
window = sg.Window('账务管理系统', 布局)
# 主循环
while True:
    event, values = window.read()
    print("当前事件:", event)
    print("当前取值:", values)
    # 窗口关闭事件
    if event == sg.WIN_CLOSED or event == "退出":
        break
        # 保存按钮事件
    if event == "保存":
        数据表 = []
        # 将输入的费用信息添加到数据表
        数据表.append([values["日期"], float(values["销售"]), float(values["管理"]), float(values["财务"])])
        表头 = ["登记日期", "销售费用", "管理费用", "财务费用"]
        数据框 = pd.DataFrame(数据表, columns=表头)
        文件路径 = values["路径"]
        文件名字 = values["文件名"]
        文件地址 = 文件路径 + 文件名字
        # 如果路径不存在,则创建
        if not os.path.exists(文件路径):
            os.makedirs(文件路径)
        # 数据追加保存
        if values["数据追加"] == True:
            # 如果文件已存在,读取原始数据,追加新数据并保存
            if os.path.exists(文件地址):
                原始数据 = pd.read_excel(文件地址, sheet_name=0)
                原始数据 = pd.concat([原始数据, 数据框])  # 按列拼接两个数据框
                原始数据.to_excel(文件地址, index=False)

                print("已经保存")
            else:
                # 如果文件不存在,直接保存新数据
                数据框.to_excel(文件地址, index=False)
        else:
            数据框.to_excel(文件地址, index=False)
#关闭GUI窗口
window.close()

    运行效果

原理

    这个程序是一个简单的账务管理系统,使用 PySimpleGUI 创建GUI,通过 Pandas 处理数据,将用户输入的费用信息保存到 Excel 文件中。下面是程序的基本原理:

1.导入库: 首先,导入了必要的库,包括 PySimpleGUI、os、time、datetime 和 pandas。
2.设置默认值: 设置了默认的日期、路径和文件名。
3.创建GUI布局: 使用 PySimpleGUI 创建了一个简单的GUI,包含了几个文本框、单选按钮和按钮,用于输入费用信息和控制保存方式。
4.创建窗口: 使用 sg.Window 创建了一个GUI窗口,窗口标题为“账务管理系统”。
5.进入主循环: 使用 while True 进入主循环,等待用户与GUI交互。
6.事件处理: 使用 window.read() 获取用户的事件和输入值,根据事件类型执行相应的操作。


7.如果事件是窗口关闭或点击退出按钮,则退出主循环,关闭程序。
8.如果事件是点击保存按钮,则处理费用信息,将其添加到数据表,并根据用户选择的保存方式进行保存。


9.处理费用信息: 获取用户输入的销售费用、管理费用、财务费用和日期,将其添加到数据表中。
10.保存数据: 根据用户选择的保存方式,将数据保存到 Excel 文件。


11.如果选择数据追加保存,程序会检查文件是否存在,如果存在则读取原始数据,将新数据追加到原始数据后,保存到文件中。
12.如果选择数据覆盖保存,程序直接将新数据覆盖写入文件。


13.关闭窗口: 如果用户点击关闭窗口或退出按钮,跳出循环,关闭程序。

    这个程序的主要目的是通过简单的GUI收集用户输入的费用信息,并将其保存到 Excel 文件中。通过 PySimpleGUI 构建GUI,使用户界面更友好,而 Pandas 则用于处理和保存数据。整体而言,程序结构清晰,通过事件驱动的方式响应用户操作。

结言
    在本文中,我简要介绍了基于 Python 开发的“简易版本账务管理系统”,这个系统以其轻量级、易用的特点为用户提供了一种便捷的财务管理解决方案。通过 PySimpleGUI 的图形用户界面Pandas 库的数据处理能力,用户可以方便地记录和管理各类费用信息。
    财务管理作为个人和企业管理不可或缺的一部分,需要高效的工具来协助完成繁琐的任务。本系统的设计旨在简化用户的操作流程,使财务记录更加直观、高效。同时,系统的开放性也为有一定编程基础的用户提供了二次开发的可能性,以满足更复杂的需求。然而,技术的发展是不断的,财务管理领域也在不断演变。读者在使用本系统的同时,也鼓励保持对新技术的敏感性,不断学习和尝试更先进的工具和方法,以更好地适应不断变化的财务管理环境。希望本文介绍的“简易版本账务管理系统能够对您的财务工作提供帮助,同时也期待读者能够积极地讨论和分享计算机编程,共同学习、共同进步。感谢您的阅读与关注!

  • 15
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值