Skip to content

Instantly share code, notes, and snippets.

@Softwaretrain
Last active September 8, 2023 19:50
Show Gist options
  • Save Softwaretrain/10ce4a3e8f9b1252a370549ae70185bf to your computer and use it in GitHub Desktop.
Save Softwaretrain/10ce4a3e8f9b1252a370549ae70185bf to your computer and use it in GitHub Desktop.
Python Code for Bank Reconciliation
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