Last active
September 8, 2023 19:50
-
-
Save Softwaretrain/10ce4a3e8f9b1252a370549ae70185bf to your computer and use it in GitHub Desktop.
Python Code for Bank Reconciliation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import pandas as pd | |
# خواندن فایلهای ورودی | |
bank = pd.read_excel(r"D:\Personal\Python\Reconcile\bank.xlsx") | |
dafater = pd.read_excel(r"D:\Personal\Python\Reconcile\dafater.xlsx") | |
# ایجاد ستون جدید با ترکیب مبلغ و تاریخ و شماره گذاری در صورت تکراری بودن | |
bank['ترکیب'] = bank['مبلغ'].astype(str) + '-' + bank['تاریخ'].astype(str) + '-' + bank.groupby(['مبلغ', 'تاریخ']).cumcount().add(1).astype(str) | |
dafater['ترکیب'] = dafater['مبلغ'].astype(str) + '-' + dafater['تاریخ'].astype(str) + '-' + dafater.groupby(['مبلغ', 'تاریخ']).cumcount().add(1).astype(str) | |
# مقایسه دو فایل بر اساس ستون ترکیب | |
result_bank = bank[~bank['ترکیب'].isin(dafater['ترکیب'])] | |
result_dafater = dafater[~dafater['ترکیب'].isin(bank['ترکیب'])] | |
# افزودن ستون منبع به نتایج مربوط به هر فایل | |
result_bank['منبع'] = 'بانک' | |
result_dafater['منبع'] = 'دفاتر' | |
# ترکیب دو نتیجه | |
result = pd.concat([result_bank, result_dafater]) | |
# حذف ستون ترکیب | |
result = result.drop(columns=['ترکیب']) | |
print(result) | |
# ذخیره نتایج در فایل خروجی | |
result.to_excel('result.xlsx', index=False) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment