added description of CSV format

This commit is contained in:
Sergey
2024-08-06 20:50:25 +03:00
parent fb01ebd1e5
commit ff89f65c06
3 changed files with 30 additions and 21 deletions

View File

@@ -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
```

28
app.py
View File

@@ -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')

View File

@@ -1,3 +0,0 @@
org_id,user_id,date_time,balance_up, balance_down
8545,6548,"19920,53","19920,53",
,,,,