draft.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import pandas as pd
  2. import re
  3. def dig_it(search_in, fl_point=100, pattern=r'\d+'):
  4. if re.search('-', search_in):
  5. return -int(''.join(re.findall(pattern, search_in))[:-2]) +\
  6. -int(''.join(re.findall(pattern, search_in))[-2:]) / fl_point
  7. else:
  8. return int(''.join(re.findall(pattern, search_in))[:-2]) +\
  9. int(''.join(re.findall(pattern, search_in))[-2:]) / fl_point
  10. info_df = pd.read_csv('transi.csv', nrows=5, skiprows=5)
  11. # print(info_df)
  12. trans_df = pd.read_csv('transi.csv', skiprows=16,
  13. keep_default_na=False)
  14. def isdebit(value):
  15. try:
  16. dig_it(value)
  17. return True
  18. except ValueError:
  19. return False
  20. def statm_transactions(elem):
  21. if isdebit(elem[4]) is False:
  22. CD_mark = 'C'
  23. else:
  24. CD_mark = 'D'
  25. # try:
  26. if re.search('-', elem[4]):
  27. elem[4] = elem[4].replace('-', '')
  28. # except TypeError:
  29. # pass
  30. # try:
  31. if re.search(',|.', elem[4]):
  32. elem[4] = elem[4].replace(',', '').replace('.', ',')
  33. if re.search(',|.', elem[5]):
  34. elem[5] = elem[5].replace(',', '').replace('.', ',')
  35. # except TypeError:
  36. # pass
  37. if isdebit(elem[4]):
  38. tr = ':61:' + elem[0][2:4] + elem[0][5:7] + elem[0][8:10] + elem[0][5:7] +\
  39. elem[0][8:10] + CD_mark + elem[4] + 'NTRF' + str(elem[3]) + '\n'
  40. inf = elem[2] + '\n'
  41. more_inf = ':86:' + '+31' + ''.join(elem[2].split(sep=';')[-2:-1]) +\
  42. '\n' + '+32' + ''.join(elem[2].split(sep=';')[-3:-2])
  43. return tr + inf + more_inf
  44. else:
  45. tr = ':61:' + elem[0][2:4] + elem[0][5:7] + elem[0][8:10] + elem[0][5:7] +\
  46. elem[0][8:10] + CD_mark + elem[5] + 'NTRF' + str(elem[3]) + '\n'
  47. inf = elem[2] + '\n'
  48. more_inf = ':86:' + '+31' + ''.join(elem[2].split(sep=';')[-2:-1]) +\
  49. '\n' + '+32' + ''.join(elem[2].split(sep=';')[-3:-2])
  50. return tr + inf + more_inf
  51. # print(isdebit(trans_df.values[0][4]))
  52. # for i in trans_df.values:
  53. # print(i[2])
  54. # # print(dig_it(trans_df.values[0][4]))
  55. #
  56. transactions = map(statm_transactions, trans_df.values)
  57. # # # #
  58. for i in transactions:
  59. print(i)