Обработка данных интернет-клиента «Альфа-банка»
Накидал небольшую программу для обработки данных из интернет-клиента «Альфа-банка». Первым параметром указывается CSV-файл, выгруженный из клиента, на выходе три столбца — дата операции, сумма и описание.
Программа на Пайтоне:
# coding: utf-8
import sys
import re
from datetime import date
from itertools import islice
output = []
with open(sys.argv[1], 'r') as f:
for line in islice(f, 1, None):
n, detail, arr, flow = line.decode('cp1251').split(';')[4:8]
if n[:4] == 'BERR' or n[:6] == 'CASHIN': continue
flow = float(flow.replace(',', '.'))
if flow > 0:
dates = re.findall(r'\d{2}\.\d{2}\.\d{2}', detail, re.UNICODE)
if dates:
d = min(date(*(int(x) for x in d.split('.')[::-1])) for d in dates)
output.append({
'detail': detail,
'flow': flow,
'date': d,
})
for k in sorted(output, lambda x, y: cmp(x['date'], y['date'])):
data = zip(('y', 'm', 'd',), k['date'].timetuple()[:3]) + k.items()
print "%(d)02d.%(m)02d.%(y)02d %(flow)09s %(detail)s" % dict(data)
А на PS не пробовал такое написать?
Комментарий для www.orcinus.ru:
На PowerShell что ли? Это несложно, но мне негде.