diff --git a/README.md b/README.md index f3521da..cf32a49 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,23 @@ -# bonus-import-tools - Приложение для импорта бонусных баллов. +# Bonus-import-tools - Приложение для импорта бонусных баллов. + +## Правила заполнения входного CSV файла + +- Кодировка файла : UTF-8 +- Разделитель полей : , [Запятая] +- Разделитель разрядов: . [Точка] +- Номер телефона = 12 символов в формате: +7XXXXXXXXXX [+76543210987] +- Формат даты : YYYY-MM-DD [2002-03-11] +- Формат времени : HH:MM:SS [21:05:36] +- Первая строка - названия полей + +Значения не должны содержать специальных символов. ## Пример файла ```csv -nickname, card, phone, summ_total, summ_discount, sum_with_discount, bonus_amount, transaction_date, transaction_time, -Иван Петров,654897321321,+78906543210,12345.67,123.56,12222.11,121,,, -Иван Иванов,654897321123,+78906233212,345.67,45.00,300.67,12,,, +nickname, card, phone, summ_total, summ_discount, sum_with_discount, bonus_amount, transaction_date, transaction_time +Иван Петров,654897321321,+78906543210,12345.67,123.56,12222.11,121,2002-03-11,21:05:36 +Иван Иванов,654897321123,+78906233212,345.67,45.00,300.67,12,2002-03-12,01:05:36 ``` diff --git a/app.py b/app.py index c2cc950..f108254 100644 --- a/app.py +++ b/app.py @@ -36,28 +36,28 @@ for f in files: with open(f, "r", encoding="utf-8") as csv_file: csv_reader = csv.reader(csv_file, delimiter=',') line_count = 0 - name, wallet, value = '', '', '' for row in csv_reader: if line_count == 0: line_count += 1 else: - name, wallet, value = row[0].strip(), row[1].strip(), row[2].strip() - value = value.replace(',', '.') - value = value.replace(chr(160), '') - if value == '0': - value = '' - line_count += 1 + try: + nickname, card, phone, summ_total, summ_discount, sum_with_discount, bonus_amount, transaction_date, transaction_time = row + print(f'Processing line {line_count}: {row}') + line_count += 1 + except ValueError as e: + ret = f'error in line: [{line_count}] {repr(e)}' + log_file.write(f'{ret}\n') - ret = 'no tx' - if len(wallet) > 0 and len(value) > 0: - # wallet = w3.toChecksumAddress(wallet.lower()) - # ret = send_joys(c.sender_wallet, _key, wallet, value) + # name, wallet, value = row[0].strip(), row[1].strip(), row[2].strip() + # value = value.replace(',', '.') + # value = value.replace(chr(160), '') + # if value == '0': + # value = '' - print(name, wallet, value) # log_file.write(f'{wallet}{chr9}{value}{chr9}{ret}\n') - log_file.write(f'{ret}\n') + # log_file.write(f'{ret}\n') csv_file.close() log_file.close() - os.rename(f, f + '.old') + # os.rename(f, f + '.old') diff --git a/csv/example.csv.example b/csv/example.csv.example deleted file mode 100644 index 2f1f250..0000000 --- a/csv/example.csv.example +++ /dev/null @@ -1,3 +0,0 @@ -org_id,user_id,date_time,balance_up, balance_down -8545,6548,"19920,53","19920,53", -,,,, \ No newline at end of file